浅谈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 相关文章推荐
JavaScript版代码高亮
Jun 26 Javascript
又一个图片自动缩小的JS代码
Mar 10 Javascript
javascript showModalDialog 多层模态窗口实现页面提交及刷新的代码
Nov 28 Javascript
JavaScript 空位补零实现代码
Feb 26 Javascript
jquery调用asp.net 页面后台的实现代码
Apr 27 Javascript
jQuery.extend 函数的详细用法
Jun 27 Javascript
jQuery向后台传入json格式数据的方法
Feb 13 Javascript
JavaScript实现cookie的写入、读取、删除功能
Nov 05 Javascript
解决微信小程序scroll-view组件无横向滚动的问题
Feb 04 Javascript
js实现移动端图片滑块验证功能
Sep 29 Javascript
vue 单页应用和多页应用的优劣
Oct 22 Javascript
jQuery实现增删改查
Dec 22 jQuery
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 array_map array_multisort 高效处理多维数组排序
2009/06/11 PHP
PHP 删除一个目录及目录下的所有文件的函数代码
2010/05/26 PHP
PHP中__set()实例用法和基础讲解
2019/07/23 PHP
文字幻灯片
2006/06/26 Javascript
用js实现计算加载页面所用的时间
2010/04/02 Javascript
JS+CSS实现Li列表隔行换色效果的方法
2015/02/16 Javascript
使用Raygun来自动追踪AngularJS中的异常
2015/06/23 Javascript
谈一谈JS消息机制和事件机制的理解
2016/04/14 Javascript
Javascript基础教程之比较null和undefined值
2016/05/16 Javascript
Node.js Express 框架 POST方法详解
2017/01/23 Javascript
百度地图JavascriptApi Marker平滑移动及车头指向行径方向
2017/03/13 Javascript
VueJs 搭建Axios接口请求工具
2017/11/20 Javascript
vue自定义底部导航栏Tabbar的实现代码
2018/09/03 Javascript
iview在vue-cli3如何按需加载的方法
2018/10/31 Javascript
vuex 中插件的编写案例解析
2019/06/10 Javascript
送你43道JS面试题(收藏)
2019/06/17 Javascript
layui多图上传实现删除功能的例子
2019/09/23 Javascript
Swiper实现导航栏滚动效果
2020/10/16 Javascript
python清除字符串里非数字字符的方法
2015/07/02 Python
python调用摄像头显示图像的实例
2018/08/03 Python
python 划分数据集为训练集和测试集的方法
2018/12/11 Python
python基于SMTP协议发送邮件
2019/05/31 Python
Python3网络爬虫开发实战之极验滑动验证码的识别
2019/08/02 Python
详解PyQt5信号与槽的几种高级玩法
2020/03/24 Python
全球精选男装和家居用品:Article
2020/04/13 全球购物
大学生就业自我鉴定
2013/10/26 职场文书
九年级化学教学反思
2014/01/28 职场文书
《月球之谜》教学反思
2014/04/10 职场文书
2015年元旦活动总结
2014/05/09 职场文书
死亡赔偿协议书
2015/01/28 职场文书
民事调解协议书
2016/03/21 职场文书
2016年“11.11”光棍节活动总结
2016/04/05 职场文书
如何用JavaScript实现一个数组惰性求值库
2021/05/05 Javascript
解析MySQL索引的作用
2022/03/03 MySQL
解决Windows Server2012 R2 无法安装 .NET Framework 3.5
2022/04/29 Servers
springboot 全局异常处理和统一响应对象的处理方式
2022/06/28 Java/Android