浅谈javascript错误处理


Posted in Javascript onAugust 11, 2019

当 JavaScript 引擎执行 JavaScript 代码时,会发生各种错误:可能是语法错误,通常是程序员造成的编码错误或错别字;可能是拼写错误或语言中缺少的功能(可能由于浏览器差异);可能是由于来自服务器或用户的错误输出而导致的错误;也可能是由于许多其他不可预知的因素。

那么js有没有好的可以检测错误的呢?有的,那就是:throw、try 和 catch

JavaScript 抛出(throw)错误

当错误发生时,当事情出问题时,JavaScript 引擎通常会停止,并生成一个错误消息。

描述这种情况的技术术语是:JavaScript 将抛出一个错误。

JavaScript try 和 catch

try 语句允许我们定义在执行时进行错误测试的代码块。

catch 语句允许我们定义当 try 代码块发生错误时,所执行的代码块。

JavaScript 语句 try 和 catch 是成对出现的。

try{
   //可能会导致错误的代码
  }catch(error(function() {
   /* Act on the event */
  });
  )

例子:

<!DOCTYPE html>
<html>
 <head>
 <meta charset="utf-8">
 <title>JavaScript教程</title>
 <script>
 var txt="";
 function message(){
  try {
   adddlert("Welcome guest!");
  }
  catch(err) {
   txt="本页有一个错误。\n\n";
   txt+="错误描述:" + err.message + "\n\n";
   txt+="点击确定继续。\n\n";
   alert(txt);
  }
 }
</script>
</head>
<body>
<input type="button" value="查看消息" onclick="message()" />
</body>
</html>
Javascript 相关文章推荐
jQuery中文入门指南,翻译加实例,jQuery的起点教程
Feb 09 Javascript
JavaScript XML操作 封装类
Jul 01 Javascript
Extjs学习笔记之四 工具栏和菜单
Jan 07 Javascript
c#和Javascript操作同一json对象的实现代码
Jan 17 Javascript
javascript变量作用域使用中常见错误总结
Mar 26 Javascript
jQuery Masonry瀑布流插件使用详解
Nov 17 Javascript
JavaScript控制图片加载完成后调用回调函数的方法
Mar 20 Javascript
JavaScript学习笔记之取数组中最大值和最小值
Mar 23 Javascript
省市区三级联动jquery实现代码
Apr 15 Javascript
详解vue组件化开发-vuex状态管理库
Apr 10 Javascript
vue 中自定义指令改变data中的值
Jun 02 Javascript
在vue项目中使用element-ui的Upload上传组件的示例
Feb 08 Javascript
axios异步提交表单数据的几种方法
Aug 11 #Javascript
node.js实现带进度条的多文件上传
Mar 27 #Javascript
基于Express框架使用POST传递Form数据
Aug 10 #Javascript
Vue实现点击显示不同图片的效果
Aug 10 #Javascript
vue+eslint+vscode配置教程
Aug 09 #Javascript
一个手写的vue放大镜效果
Aug 09 #Javascript
详解Vue-cli3.X使用px2rem遇到的问题
Aug 09 #Javascript
You might like
PHP文本数据库的搜索方法
2006/10/09 PHP
php 分库分表hash算法
2009/11/12 PHP
php 来访国内外IP判断代码并实现页面跳转
2009/12/18 PHP
php结合ACCESS的跨库查询功能
2015/06/12 PHP
Yii2-GridView 中让关联字段带搜索和排序功能示例
2017/01/21 PHP
Laravel find in set排序实例
2019/10/09 PHP
JQuery的Ajax跨域请求原理概述及实例
2013/04/26 Javascript
node.js入门教程迷你书、node.js入门web应用开发完全示例
2014/04/06 Javascript
一个简单的Node.js异步操作管理器分享
2014/04/29 Javascript
jQuery实现图片局部放大镜效果
2016/03/17 Javascript
返回函数的JavaScript函数
2016/06/14 Javascript
详解vue2.0的Element UI的表格table列时间戳格式化
2017/06/13 Javascript
nodeJS微信分享
2017/12/20 NodeJs
详解plotly.js 绘图库入门使用教程
2018/02/23 Javascript
解决Vue 通过下表修改数组,页面不渲染的问题
2018/03/08 Javascript
js中split()方法得到的数组长度问题
2018/07/19 Javascript
vue插槽slot的理解和使用方法
2019/04/03 Javascript
Vue请求java服务端并返回数据代码实例
2019/11/28 Javascript
Node.js中出现未捕获异常的处理方法
2020/06/29 Javascript
详解js中的几种常用设计模式
2020/07/16 Javascript
Vue ​v-model相关知识总结
2021/01/28 Vue.js
python内存管理分析
2015/04/08 Python
Python tkinter模块弹出窗口及传值回到主窗口操作详解
2017/07/28 Python
Python求出0~100以内的所有素数
2018/01/23 Python
Python实现的在特定目录下导入模块功能分析
2019/02/11 Python
python+django+selenium搭建简易自动化测试
2020/08/19 Python
Python Opencv轮廓常用操作代码实例解析
2020/09/01 Python
Python爬虫之App爬虫视频下载的实现
2020/12/08 Python
html5 乒乓球(碰撞检测)实例二
2013/07/25 HTML / CSS
美国最大的网络男装服装品牌:Bonobos
2017/05/25 全球购物
正宗的澳大利亚Ugg靴子零售商:UGG Express
2020/04/19 全球购物
优秀研究生自我鉴定
2013/12/04 职场文书
《毛主席在花山》教学反思
2014/04/20 职场文书
小学教师暑期培训方案
2014/08/28 职场文书
党员个人对照检查材料范文
2014/09/24 职场文书
DE1107机评
2022/04/05 无线电