浅谈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 09 Javascript
jQuery旋转插件—rotate支持(ie/Firefox/SafariOpera/Chrome)
Jan 16 Javascript
JavaScript设计模式经典之工厂模式
Feb 24 Javascript
详解VueJs前后端分离跨域问题
May 24 Javascript
BootStrap selectpicker后台动态绑定数据
Jun 01 Javascript
Vue 按键修饰符处理事件的方法
May 04 Javascript
详解VSCode配置启动Vue项目
May 14 Javascript
Vue 利用指令实现禁止反复发送请求的两种方法
Sep 15 Javascript
webpack4 配置 ssr 环境遇到“document is not defined”
Oct 24 Javascript
Node对CommonJS的模块规范
Nov 06 Javascript
超简单的微信小程序轮播图
Nov 22 Javascript
JavaScript交换变量常用4种方法解析
Sep 02 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
Yii2框架redis基本应用示例
2018/07/13 PHP
ThinkPHP5.1表单令牌Token失效问题的解决
2019/03/22 PHP
PHP程序员简单的开展服务治理架构操作详解(三)
2020/05/14 PHP
漂亮的提示信息(带箭头)
2007/03/21 Javascript
jQuery实现的Email中的收件人效果(按del键删除)
2011/03/20 Javascript
浅谈nodeName,nodeValue,nodeType,typeof 的区别
2015/01/13 Javascript
深入解析JavaScript中的数字对象与字符串对象
2015/10/21 Javascript
jquery trigger实现联动的方法
2016/02/29 Javascript
详解Vue-基本标签和自定义控件
2017/03/24 Javascript
Node.js设置CORS跨域请求中多域名白名单的方法
2017/03/28 Javascript
AngularJS的脏检查深入分析
2017/04/22 Javascript
Vue.use源码分析
2017/04/22 Javascript
Bootstrap Table 在指定列中添加下拉框控件并获取所选值
2017/07/31 Javascript
React Native悬浮按钮组件的示例代码
2018/04/05 Javascript
关于echarts在节点显示动态数据及添加提示文本所遇到的问题
2018/04/20 Javascript
vue项目中jsonp跨域获取qq音乐首页推荐问题
2018/05/30 Javascript
JS实现动态添加外部js、css到head标签的方法
2019/06/05 Javascript
js+html实现周岁年龄计算器
2019/06/25 Javascript
layer弹出层扩展主题的方法
2019/09/11 Javascript
解决Vue大括号字符换行踩的坑
2020/11/09 Javascript
Python如何读取MySQL数据库表数据
2017/03/11 Python
Python实现两款计算器功能示例
2017/12/19 Python
Python3 全自动更新已安装的模块实现
2020/01/06 Python
用CSS3的box-reflect设置文字倒影效果的方法讲解
2016/03/07 HTML / CSS
Kathmandu澳洲户外商店:新西兰户外运动品牌
2017/11/12 全球购物
Ashford台湾:以折扣价提供奢华的男女用表款
2019/12/04 全球购物
程序员跳槽必看面试题总结
2013/06/28 面试题
shell变量的作用空间是什么
2013/08/17 面试题
室内设计专业毕业生求职信
2014/05/02 职场文书
平安建设工作方案
2014/06/02 职场文书
2014年商场国庆节活动策划方案
2014/09/16 职场文书
淘宝好评语句大全
2014/12/31 职场文书
南京导游词
2015/02/03 职场文书
个人工作总结怎么写?
2019/04/09 职场文书
你离财务总监还有多远?速览CFO的岗位职责
2019/11/18 职场文书
nginx搭建NFS网络文件系统
2022/04/14 Servers