浅谈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 onpropertychange输入框 事件获取属性
Mar 26 Javascript
jquery中ajax调用json数据的使用说明
Mar 17 Javascript
JavaScript使用IEEE 标准进行二进制浮点运算产生莫名错误的解决方法
May 28 Javascript
JS合并数组的几种方法及优劣比较
Sep 19 Javascript
JS原型与原型链的深入理解
Feb 15 Javascript
浅谈node的事件机制
Oct 09 Javascript
在vue中通过axios异步使用echarts的方法
Jan 13 Javascript
使用vue开发移动端管理后台的注意事项
Mar 07 Javascript
使用Vue 实现滑动验证码功能
Jun 27 Javascript
react实现移动端下拉菜单的示例代码
Jan 16 Javascript
微信小程序用户盒子、宫格列表的实现
Jul 01 Javascript
国庆节到了,利用JS实现一个生成国庆风头像的小工具 详解实现过程
Oct 05 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
利用ThinkPHP内置的ThinkAjax实现异步传输技术的实现方法
2011/12/19 PHP
Laravel执行migrate命令提示:No such file or directory的解决方法
2016/03/16 PHP
Zend Framework实现将session存储在memcache中的方法
2016/03/22 PHP
prototype 1.5相关知识及他人笔记
2006/12/16 Javascript
JavaScript进阶教程(第四课第一部分)
2007/04/05 Javascript
基于JQuery的动态删除Table表格的行和列的代码
2011/05/12 Javascript
jQuery调取jSon数据并展示的方法
2015/01/29 Javascript
JS中字符串trim()使用示例
2015/05/26 Javascript
js立即执行函数: (function ( ){})( ) 与 (function ( ){}( )) 有什么区别?
2015/11/18 Javascript
javascript函数的四种调用模式
2017/01/08 Javascript
jq给页面添加覆盖层遮罩的实例
2017/02/16 Javascript
Vue计算属性的学习笔记
2017/03/22 Javascript
jQuery插件FusionCharts绘制的3D双柱状图效果示例【附demo源码】
2017/04/20 jQuery
jQuery实现点击自身以外区域关闭弹出层功能完整示例【改进版】
2018/07/31 jQuery
如何在vue 中引入使用jquery
2020/11/10 jQuery
[08:47]2018国际邀请赛 OG战队举杯时刻
2018/08/29 DOTA
利用Python如何生成随机密码
2016/04/20 Python
Python图片裁剪实例代码(如头像裁剪)
2017/06/21 Python
Python tkinter模块中类继承的三种方式分析
2017/08/08 Python
python之super的使用小结
2018/08/13 Python
Python DataFrame.groupby()聚合函数,分组级运算
2018/09/18 Python
解决sublime+python3无法输出中文的问题
2018/12/12 Python
Win10系统下安装labelme及json文件批量转化方法
2019/07/30 Python
Python3离线安装Requests模块问题
2019/10/13 Python
Tkinter中复选菜单是否被选中的判断与设置方式
2020/03/04 Python
美国时尚孕妇装品牌:A Pea in the Pod
2017/07/16 全球购物
奥地利度假券的专家:we-are.travel
2019/04/10 全球购物
时尚孕妇装:Ingrid & Isabel
2019/05/08 全球购物
微电影大赛策划方案
2014/06/05 职场文书
花木兰观后感
2015/06/10 职场文书
三十年同学聚会致辞
2015/07/28 职场文书
2016会计专业自荐信范文
2016/01/28 职场文书
2016保送生自荐信范文
2016/01/29 职场文书
《童年》读后感(三篇)
2019/08/27 职场文书
golang json数组拼接的实例
2021/04/28 Golang
一起来学习Python的元组和列表
2022/03/13 Python