浅谈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 相关文章推荐
js使用函数绑定技术改变事件处理程序的作用域
Dec 26 Javascript
可以用鼠标拖动的DIV实现思路及代码
Oct 21 Javascript
深入理解Javascript中的循环优化
Nov 09 Javascript
JS中对数组元素进行增删改移的方法总结
Dec 15 Javascript
vue之数据交互实例代码
Jun 20 Javascript
实例详解带参数的 npm script
May 28 Javascript
vue服务端渲染操作简单入门实例分析
Aug 28 Javascript
解决layui表格内文本超出隐藏的问题
Sep 12 Javascript
小程序最新获取用户昵称和头像的方法总结
Sep 23 Javascript
茶余饭后聊聊Vue3.0响应式数据那些事儿
Oct 30 Javascript
浅谈vue-props的default写不写有什么区别
Aug 09 Javascript
vuecli项目构建SSR服务端渲染的实现
Oct 30 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 strlen mb_strlen计算中英文混排字符串长度
2009/07/10 PHP
两个开源的Php输出Excel文件类
2010/02/08 PHP
学习YUI.Ext基础第一天
2007/03/10 Javascript
jquery中EasyUI实现异步树
2015/03/01 Javascript
nw.js实现类似微信的聊天软件
2015/03/16 Javascript
javascript的document中的动态添加标签实现方法
2016/10/24 Javascript
JS控制TreeView的结点选择
2016/11/11 Javascript
jQuery实现带右侧索引功能的通讯录示例【附源码下载】
2018/04/17 jQuery
Vue中如何实现proxy代理
2018/04/20 Javascript
JavaScript常用数学函数用法示例
2018/05/14 Javascript
vue服务端渲染页面缓存和组件缓存的实例详解
2018/09/18 Javascript
使用mixins实现elementUI表单全局验证的解决方法
2019/04/02 Javascript
JS实现判断数组是否包含某个元素示例
2019/05/24 Javascript
关于NodeJS中的循环引用详解
2019/07/23 NodeJs
node命令行工具之实现项目工程自动初始化的标准流程
2019/08/12 Javascript
解决VUE双向绑定失效的问题
2019/10/29 Javascript
python DataFrame获取行数、列数、索引及第几行第几列的值方法
2018/04/08 Python
详解python读取image
2019/04/03 Python
Django logging配置及使用详解
2019/07/23 Python
python之PyQt按钮右键菜单功能的实现代码
2019/08/17 Python
flask 实现上传图片并缩放作为头像的例子
2020/01/09 Python
python爬虫开发之selenium模块详细使用方法与实例全解
2020/03/09 Python
python pandas.DataFrame.loc函数使用详解
2020/03/26 Python
HTML5注册表单的自动聚焦与占位文本示例代码
2013/07/19 HTML / CSS
Agoda台湾官网:国内外订房2折起
2018/03/20 全球购物
Wojas罗马尼亚网站:波兰皮鞋品牌
2018/11/01 全球购物
西班牙三叶草药房:Farmacias Trébol
2019/05/03 全球购物
.TTL是什么?有什么用处,通常那些工具会用到它?(ping? traceroute? ifconfig? netstat?)
2016/05/09 面试题
班主任与学生安全责任书
2014/07/25 职场文书
单位委托书范本(3篇)
2014/09/18 职场文书
KTV门卫岗位职责
2014/10/09 职场文书
党的群众路线调研报告
2014/11/03 职场文书
2014年教师学期工作总结
2014/11/08 职场文书
2014年团支部工作总结
2014/11/17 职场文书
2015年人事工作总结范文
2015/04/09 职场文书
html+css实现滚动到元素位置显示加载动画效果
2021/08/02 HTML / CSS