浅谈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 实现对象 匀速/变速运动的方法
May 08 Javascript
JavaScript中的undefined学习总结
Nov 30 Javascript
button没写type=button会导致点击时提交
Mar 06 Javascript
jQuery实现鼠标划过添加和删除class的方法
Jun 26 Javascript
分享js粘帖屏幕截图到web页面插件screenshot-paste
Aug 21 Javascript
js 能实现监听F5页面刷新子iframe 而父页面不刷新的方法
Nov 09 Javascript
js实现适配不同的屏幕大小
Apr 10 Javascript
详解利用jsx写vue组件的方法示例
Jul 17 Javascript
详解JavaScript事件循环机制
Sep 07 Javascript
js中call()和apply()改变指针问题的讲解
Jan 17 Javascript
微信小程序 轮播图实现原理及优化详解
Sep 29 Javascript
jQuery模仿ToDoList实现简单的待办事项列表
Dec 30 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弹出提示框并跳转到新页面即重定向到新页面
2014/01/24 PHP
Yii2.0 模态弹出框+ajax提交表单
2016/05/22 PHP
PHP实现RTX发送消息提醒的实例代码
2017/01/03 PHP
解决在laravel中auth建立时候遇到的问题
2019/10/15 PHP
用javascript实现给图片加链接
2007/08/15 Javascript
javascript基本语法分析说明
2008/06/15 Javascript
一款Jquery 分页插件的改造方法(服务器端分页)
2011/07/11 Javascript
js css后面所带参数含义介绍
2013/08/18 Javascript
JavaScript加强之自定义callback示例
2013/09/21 Javascript
js改变鼠标的形状和样式的方法
2014/03/31 Javascript
jQuery中click事件用法实例
2014/12/26 Javascript
jQuery中extend函数详解
2015/02/13 Javascript
javascript高级编程之函数表达式 递归和闭包函数
2015/11/29 Javascript
鼠标点击input,显示瞬间的边框颜色,对之修改与隐藏实例
2016/12/26 Javascript
jquery设置css样式的多种方法(总结)
2017/02/21 Javascript
详解nodejs异步I/O和事件循环
2017/06/07 NodeJs
vue-router的使用方法及含参数的配置方法
2018/11/13 Javascript
在vue中使用axios实现post方式获取二进制流下载文件(实例代码)
2019/12/16 Javascript
Json实现传值到后台代码实例
2020/06/30 Javascript
Python中unittest用法实例
2014/09/25 Python
在Python编程过程中用单元测试法调试代码的介绍
2015/04/02 Python
pyqt5实现按钮添加背景图片以及背景图片的切换方法
2019/06/13 Python
树莓派使用USB摄像头和motion实现监控
2019/06/22 Python
Spring Cloud Feign高级应用实例详解
2019/12/10 Python
pytorch中获取模型input/output shape实例
2019/12/30 Python
python微信公众号开发简单流程实现
2020/03/09 Python
浅析python 字典嵌套
2020/09/29 Python
使用python tkinter开发一个爬取B站直播弹幕工具的实现代码
2021/02/07 Python
解决H5的a标签的download属性下载service上的文件出现跨域问题
2019/07/16 HTML / CSS
台湾乐天市场:日本No.1的网路购物网站
2017/03/22 全球购物
MySQL面试题目集锦
2016/04/14 面试题
环境科学专业大学生自荐信格式
2013/09/21 职场文书
护理实习自我鉴定
2013/12/14 职场文书
活动总结范文
2014/08/30 职场文书
《没有任何借口》读后感:完美的执行能力
2020/01/07 职场文书
ICOM R71E和R72E图文对比解说
2022/04/07 无线电