浅谈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 自动完成 AutoComplete(Ajax 查询)
Jul 07 Javascript
JavaScript检查某个function是否是原生代码的方法
Aug 20 Javascript
浅谈下拉菜单中的Option对象
May 10 Javascript
Javascript基础学习笔记(菜鸟必看篇)
Jul 22 Javascript
解决URL地址中的中文乱码问题的办法
Feb 10 Javascript
关于react-router/react-router-dom v4 history不能访问问题的解决
Jan 08 Javascript
jQuery实现的鼠标响应缓冲动画效果示例
Feb 13 jQuery
vue 根据数组中某一项的值进行排序的方法
Aug 30 Javascript
一步一步的了解webpack4的splitChunk插件(小结)
Sep 17 Javascript
单页面vue引入百度统计的使用方法示例详解
Oct 13 Javascript
JavaScript内置对象之Array的使用小结
May 12 Javascript
Vue监视数据的原理详解
Feb 24 Vue.js
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选项卡的简单使用
2017/05/26 PHP
Docker搭建自己的PHP开发环境
2018/02/24 PHP
JS 字符串连接[性能比较]
2009/05/10 Javascript
jquery与google map api结合使用 控件,监听器
2010/03/04 Javascript
JSQL 基于客户端的成绩统计实现方法
2010/05/05 Javascript
一步一步制作jquery插件Tabs实现过程
2010/07/06 Javascript
js onclick事件传参讲解
2013/11/06 Javascript
Prototype框架详解
2015/11/25 Javascript
JavaScript 冒泡排序和选择排序的实现代码
2016/09/03 Javascript
微信小程序 蓝牙的实现实例代码
2017/06/27 Javascript
Vue实现左右菜单联动实现代码
2018/08/12 Javascript
使用vue 国际化i18n 实现多实现语言切换功能
2018/10/11 Javascript
如何在vue 中引入使用jquery
2020/11/10 jQuery
[01:01:14]完美世界DOTA2联赛PWL S2 SZ vs Rebirth 第一场 11.21
2020/11/23 DOTA
python2.7 mayavi 安装图文教程(推荐)
2017/06/22 Python
Python Flask-web表单使用详解
2017/11/18 Python
Win10下python3.5和python2.7环境变量配置教程
2018/09/18 Python
python增加图像对比度的方法
2019/07/12 Python
Python使用Beautiful Soup爬取豆瓣音乐排行榜过程解析
2019/08/15 Python
Python 中如何实现参数化测试的方法示例
2019/12/10 Python
python通过nmap扫描在线设备并尝试AAA登录(实例代码)
2019/12/30 Python
python GUI库图形界面开发之PyQt5表单布局控件QFormLayout详细使用方法与实例
2020/03/06 Python
Pycharm安装并配置jupyter notebook的实现
2020/05/18 Python
python sleep和wait对比总结
2021/02/03 Python
python 中 .py文件 转 .pyd文件的操作
2021/03/04 Python
土耳其国际性时尚购物网站:Modanisa
2018/01/19 全球购物
台湾最大银发乐活百货:乐龄网
2018/05/21 全球购物
哈萨克斯坦最大的时装、鞋子和配饰在线商店:Lamoda.kz
2019/11/19 全球购物
extern是什么意思
2016/03/10 面试题
Linux面试题LINUX系统类
2014/11/19 面试题
职称自我鉴定
2013/10/15 职场文书
社区文艺活动方案
2014/08/19 职场文书
法制演讲稿
2014/09/10 职场文书
2014大学生党员评议个人总结
2014/09/22 职场文书
Vue.js 带下拉选项的输入框(Textbox with Dropdown)组件
2021/04/17 Vue.js
Python爬取奶茶店数据分析哪家最好喝以及性价比
2022/09/23 Python