浅谈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中的对象创建 实例附注释
Feb 08 Javascript
怎么清空javascript数组
May 11 Javascript
js中settimeout方法加参数的使用实例
Feb 27 Javascript
jQuery中slice()方法用法实例
Jan 07 Javascript
浏览器中url存储的JavaScript实现
Jul 07 Javascript
js事件委托和事件代理案例分享
Jul 25 Javascript
npm scripts 使用指南详解
Oct 08 Javascript
详解微信小程序开发聊天室—实时聊天,支持图片预览
May 20 Javascript
Vue 中 a标签上href无法跳转的解决方式
Nov 12 Javascript
ES6 Object.assign()的用法及其使用
Jan 18 Javascript
es6函数name属性功能与用法实例分析
Apr 18 Javascript
记一次用ts+vuecli4重构项目的实现
May 21 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 Google的translate API代码
2008/12/10 PHP
PHP 中关于ord($str)&amp;gt;0x80的详细说明
2012/09/23 PHP
探讨如何把session存入数据库
2013/06/07 PHP
在Ubuntu 14.04上部署 PHP 环境及 WordPress
2014/09/02 PHP
php结合md5实现的加密解密方法
2016/01/25 PHP
PHP环境搭建(php+Apache+mysql)
2016/11/14 PHP
Redis构建分布式锁
2017/03/28 PHP
MooTools 1.2介绍
2009/09/14 Javascript
jquery form表单提交插件asp.net后台中文解码
2010/06/12 Javascript
读jQuery之五(取DOM元素)
2011/06/20 Javascript
js简单实现根据身份证号码识别性别年龄生日
2013/11/29 Javascript
jQuery鼠标事件总结
2016/10/13 Javascript
详解JS中的快速排序与冒泡
2017/01/10 Javascript
详述 Sublime Text 打开 GBK 格式中文乱码的解决方法
2017/10/26 Javascript
vue使用keep-alive保持滚动条位置的实现方法
2019/04/09 Javascript
详解key在Vue列表渲染时究竟起到了什么作用
2019/04/20 Javascript
通过实例解析js简易模块加载器
2019/06/17 Javascript
js实现转动骰子模型
2019/10/24 Javascript
element 中 el-menu 组件的无限极循环思路代码详解
2020/04/26 Javascript
[02:21]十步杀一人,千里不留行——DOTA2全新英雄天涯墨客展示
2018/08/29 DOTA
Python合并字符串的3种方法
2015/05/21 Python
Odoo中如何生成唯一不重复的序列号详解
2018/02/10 Python
Python实现爬取百度贴吧帖子所有楼层图片的爬虫示例
2018/04/26 Python
用Python实现二叉树、二叉树非递归遍历及绘制的例子
2019/08/09 Python
Python封装成可带参数的EXE安装包实例
2019/08/24 Python
Python使用Opencv实现图像特征检测与匹配的方法
2019/10/30 Python
理解Django 中Call Stack机制的小Demo
2020/09/01 Python
Baracuta官方网站:Harrington夹克,G9,G4,G10等
2018/03/06 全球购物
数据库测试通常都包括哪些方面
2015/11/30 面试题
机电专业个人求职信范文
2013/12/30 职场文书
成龙霸王洗发水广告词
2014/03/14 职场文书
公关活动策划方案
2014/05/25 职场文书
2014年大学生社会实践自我鉴定
2014/09/26 职场文书
计划生育目标责任书
2015/05/09 职场文书
创业计划书之家政服务
2019/09/18 职场文书
彩虹社八名人气艺人全新周边限时推出,性转女装男装一次拥有!
2022/04/01 日漫