js错误处理

导致程序无法继续执行的异常状态称为错误。

js中一旦发生错误,就会自动创建一个Error类型对象

js中有6中错误类型:

  SyntaxError  语法错误

  ReferenceError  引用错误,找不到变量或对象

  TypeError  类型错误,错误的使用了对象中的方法

  RangeError  范围错误,参数超范围

  EvalError  调用eval函数是出错

  URLError  URLU错误

如何处理错误: tryCatch块

1 try{
2     //容易出错代码
3 }catch(err){
4     //错误处理
5 }finally{
6     //总是执行的代码,通常用于释放资源
7 }  

使用tryCatch会造成代码执行时间加长,建议尽量使用 if...else 判断已经预知的错误。只有无法预知的错误才使用 try...catch 语句(尽可能减少包含代码)。

时间: 2024-07-30 13:44:18

js错误处理的相关文章

IE6,IE7,IE8下报JS错误:expected identifier, string or number的原因及解决的方法

今天在调试一个页面的时候遇到一个问题,在IE9下执行得非常好的脚本,在IE8里打开的时候弹出错误:expected identifier, string or number,依照经验,应该是定义对象的时候最后一个属性末尾跟了逗号,但检查一遍后没发现有这样的情况,后来细致看了一下报错的位置,发现有定义json对象属性时,属性名没实用引號括起来,于是加了上去再试,问题攻克了. 综上所述,当出现expected identifier, string or number的错误时,你首先应该检查在使用对象

JS 错误

突然发现自己写了一段多么可笑的代码 <script type="text/javascript"> var boo = false; function docheck(){ var data_un = document.getElementById("un").value; var data_ps = document.getElementById("ps").value; var reg = /^\s*$/; var num = 0

发送JS错误日志到服务器

JS记录错误日志/捕捉错误 //onerror提供异常信息,文件路径和发生错误代码的行数的三个参数. window.onerror = function(e,url,index){ var msg = e.message || e|| "未知错误"; alert("错误信息:"+msg+",错误路径:"+ul+",行数:"+index); } ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1

Fundebug上线Node.js错误监控啦

作为全栈JavaScript错误实时监测平台,Fundebug的Node.js实时错误监测服务上线啦,我们能够帮助开发者及时,高效地发现并且解决Node.js错误,从而提高开发效率,并提升用户体验. Fundebug为什么监测Node.js? 程序员通常是比较自信的,他们坚持自己写的代码没有问题.然而,再追问一下自己: 我的代码真的100%没有问题吗? 我做了完整的单元测试吗? 难道我要花更多的时间没完没了的写单元测试? 那么问题在哪? 当Node.js后台程序在服务器上出错了,然而开发者并不知

js错误处理和调试

1.重点关注函数和可能导致函数执行失败的因素. 2.抛出错误和使用try-catch的时机:一般来说在应用程序架构较低的层次中经常会抛出错误.这个层次并不会影响当前执行的代码. 错误也得不到真正的处理.在多应用中使用的库和应用内部多处使用的辅助函数时,抛出错误后要提供详尽的错误信息. 3.只捕获确切知道该如何处理的错误.捕获错误的目的在于避免浏览器采用默认的方式处理它们.抛出错误的目的在于提供发生错误具体原因的消息. 4.常见的错误类型:类型转换错误.数据类型错误 和 通信错误. a.类型转换错

swagger ui js 错误:Failed to execute &#39;serializeToString&#39; on &#39;XMLSerializer&#39;: parameter 1 is not of type &#39;Node&#39;.

经过排查,引发此错误的原因是,表中有一个字段名称为"NodeName",应该是在前台xml解析时引发冲突所致.我的解决办法是: 修改列名,修改映射. 如下: [Column("NodeName")] public string Name { get; set; } ps:说下我的思路,前台错误处打上断点,循环跳出(或者F8),注意观察出错时的节点名,见下图: 根据此法快速定位到解析错误的表名,然后根据排除法,一个一个注释掉字段,找到出错的字段.剩下的就好办了. sw

捕获JS 错误日志

最近在做项目的过程中,发现很多JS报错没有引起重视,我就想想把JS错误捕获了,然后展示在我们一个平台上 具体实现代码: window.onerror = function(message, url, lineNumber,columnNo,error) {     var data = {         'message':message,         'url':url,         'error':error.stack     };     $.ajax({         ur

JQuery validate 在IE兼容模式下出现 js错误(成员找不到)的修正:

JQuery validate 在IE兼容模式下 下出现 js错误(成员找不到)的修正: // Add novalidate tag if HTML5. //this.attr( "novalidate", "novalidate" ); if (typeof (Worker) !== "undefined") { this.attr('novalidate', 'novalidate'); } 将第二行注释掉,换成第三行! JQuery val

easyui datagrid 出现length的js错误

经常看到有datagrid控件的页面出现length的js错误[ 'length' 为空或不是对象],查找半天又找不到原因,使劲的在看是不是datagrid的js配置有问题,结果发现改死了也没用. 删掉datagrid的初始化js,后果然不出现这个js问题了,问题集中在datagrid中, 于是乎,打开js调试 看到 var _717=["<table class=\"datagrid-btable\" cellspacing=\"0\" cellp

IE6,IE7,IE8下报JS错误:expected identifier, string or number的原因及解决办法

今天在调试一个页面的时候遇到一个问题,在IE9下运行得很好的脚本,在IE8里打开的时候弹出错误:expected identifier, string or number,按照经验,应该是定义对象的时候最后一个属性末尾跟了逗号,但检查一遍后没发现有这种情况,后来仔细看了一下报错的位置,发现有定义json对象属性时,属性名没有用引号括起来,于是加了上去再试,问题解决了. 综上所述,当出现expected identifier, string or number的错误时,你首先应该检查在使用对象字面