浅谈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的获取JS文件中的字符串内容
Feb 14 Javascript
js输入框邮箱自动提示功能代码实现
Dec 10 Javascript
轻量级的原生js日历插件calendar.js使用指南
Apr 28 Javascript
Bootstrap 最常用的JS插件系列总结(图片轮播、标签切换等)
Jul 14 Javascript
微信小程序 页面传参实例详解
Nov 16 Javascript
使用DeviceOne实现微信小程序功能
Dec 29 Javascript
通过sails和阿里大于实现短信验证
Jan 04 Javascript
jQuery中 bind的用法简单介绍
Feb 13 Javascript
jQuery实现键盘回车搜索功能
Jul 25 jQuery
关于node-bindings无法在Electron中使用的解决办法
Dec 18 Javascript
浅谈鸿蒙 JavaScript GUI 技术栈
Sep 17 Javascript
Node.js path模块,获取文件后缀名操作
Nov 07 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 验证码的实现代码
2011/07/17 PHP
php几个预定义变量$_SERVER用法小结
2014/11/07 PHP
php微信开发之百度天气预报
2016/11/18 PHP
jquery iframe操作详细解析
2013/11/20 Javascript
JQuery中两个ul标签的li互相移动实现方法
2015/05/18 Javascript
Active控件问题小结(附解决办法)
2016/06/09 Javascript
JavaScript中ES6字符串扩展方法
2016/08/26 Javascript
Bootstrap的popover(弹出框)在append后弹不出(失效)
2017/02/27 Javascript
创建简单的node服务器实例(分享)
2017/06/23 Javascript
基于Vue、Vuex、Vue-router实现的购物商城(原生切换动画)效果
2018/01/09 Javascript
利用vue.js实现被选中状态的改变方法
2018/02/08 Javascript
关于Vue的路由权限管理的示例代码
2018/03/06 Javascript
vue+echarts实现可拖动节点的折线图(支持拖动方向和上下限的设置)
2019/04/12 Javascript
js实现mp3录音通过websocket实时传送+简易波形图效果
2020/06/12 Javascript
mapboxgl区划标签避让不遮盖实现的代码详解
2020/07/01 Javascript
JS实现移动端可折叠导航菜单(现代都市风)
2020/07/07 Javascript
使用webpack5从0到1搭建一个react项目的实现步骤
2020/12/16 Javascript
[01:11:27]2018DOTA2亚洲邀请赛小组赛 A组加赛 Newbee vs Optic
2018/04/03 DOTA
Python生成随机数的方法
2014/01/14 Python
Python datetime时间格式化去掉前导0
2014/07/31 Python
Python爬虫爬取美剧网站的实现代码
2016/09/03 Python
将TensorFlow的模型网络导出为单个文件的方法
2018/04/23 Python
Python根据指定日期计算后n天,前n天是哪一天的方法
2018/05/29 Python
python爬虫URL重试机制的实现方法(python2.7以及python3.5)
2018/12/18 Python
python实现文本进度条 程序进度条 加载进度条 单行刷新功能
2019/07/03 Python
解决Python对齐文本字符串问题
2019/08/28 Python
pycharm实现print输出保存到txt文件
2020/06/01 Python
如何在scrapy中集成selenium爬取网页的方法
2020/11/18 Python
Python 实现进度条的六种方式
2021/01/06 Python
PPP协议组成及简述协议协商的基本过程
2015/05/28 面试题
聚美优品的广告词
2014/03/14 职场文书
诚实守信道德模范事迹材料
2014/08/15 职场文书
献爱心大型公益活动策划方案
2014/09/15 职场文书
单位法人授权委托书范本
2014/10/09 职场文书
建房合同协议书
2016/03/21 职场文书
Python利用zhdate模块实现农历日期处理
2022/03/31 Python