浅谈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 相关文章推荐
Maps Javascript
Jan 22 Javascript
浅谈tudou土豆网首页图片延迟加载的效果
Jun 23 Javascript
jquery遍历数组与筛选数组的方法
Nov 05 Javascript
javascript实现无限级select联动菜单
Jan 02 Javascript
js获取字符串字节数方法小结
Jun 09 Javascript
jQuery事件用法详解
Oct 06 Javascript
利用jQuery+localStorage实现一个简易的计时器示例代码
Dec 25 jQuery
手写简单的jQuery雪花飘落效果实例
Apr 22 jQuery
解决vue2.0 element-ui中el-upload的before-upload方法返回false时submit()不生效问题
Aug 24 Javascript
Vue渲染过程浅析
Mar 14 Javascript
vue组件化中slot的基本使用方法
May 01 Javascript
vue-router中hash模式与history模式的区别
Jun 23 Vue.js
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
一个域名查询的程序
2006/10/09 PHP
PHP URL地址获取函数代码(端口等) 推荐
2010/05/15 PHP
PHP XML操作的各种方法解析(比较详细)
2010/06/17 PHP
php max_execution_time执行时间问题
2011/07/17 PHP
解析php中static,const与define的使用区别
2013/06/18 PHP
使用PHP Socket 编程模拟Http post和get请求
2014/11/25 PHP
Zend Framework框架实现类似Google搜索分页效果
2016/11/25 PHP
Yii2第三方类库插件Imagine的安装和使用
2017/07/06 PHP
PHP判断是否是微信打开,浏览器打开的方法
2018/03/14 PHP
学习YUI.Ext 第六天--关于树TreePanel(Part 2异步获取节点)
2007/03/10 Javascript
Javascript学习笔记4 Eval函数
2010/01/11 Javascript
jQuery选择器的工作原理和优化分析
2011/07/25 Javascript
JS跨域代码片段
2012/08/30 Javascript
单击按钮显示隐藏子菜单经典案例
2013/01/04 Javascript
JavaScript中的call方法和apply方法使用对比
2015/08/12 Javascript
jQuery中值得注意的trigger方法浅析
2016/12/12 Javascript
AngularJS封装$http.post()实例详解
2017/05/06 Javascript
js中json对象和字符串的理解及相互转化操作实现方法
2017/09/22 Javascript
深入理解Angular4订阅(Subscribe)与取消
2017/11/22 Javascript
详解为生产环境编译Angular2应用的方法
2018/12/10 Javascript
python获取文件版本信息、公司名和产品名的方法
2014/10/05 Python
Python实现将不规范的英文名字首字母大写
2016/11/15 Python
解决Python3.5+OpenCV3.2读取图像的问题
2018/12/05 Python
Django uwsgi Nginx 的生产环境部署详解
2019/02/02 Python
对Python3 goto 语句的使用方法详解
2019/02/16 Python
python获取依赖包和安装依赖包教程
2020/02/13 Python
python BeautifulSoup库的安装与使用
2020/12/17 Python
南京青奥会口号
2014/06/12 职场文书
学校领导班子四风对照检查材料
2014/09/27 职场文书
代办社保委托书范文
2014/10/06 职场文书
教师党员自我评议不足范文
2014/10/19 职场文书
初中生散播谣言检讨书
2014/11/17 职场文书
2015年全国爱耳日活动总结
2015/02/27 职场文书
MySQL千万级数据表的优化实战记录
2021/08/04 MySQL
详解nginx location指令
2022/01/18 Servers
Oracle中DBLink的详细介绍
2022/04/29 Oracle