解析IE中的Javascript Error对象
之前写过一篇文章,提到怎么在各个浏览器下返回执行错误的Javascript代码所在的行数以及文件名。其中在IE下,如果你使用了try-catch,那么当出现异常的时候,浏览器会传递一个Error对象。
<script> try{ sldfj }catch(e){ for(var p in e){ document.writeln(p + "=" + e[p]); } } </script>
输出:name=TypeError message='sldfj' 未定义 number=-2146823279 description='sldfj' 未定义
其中的number属性是一个整数,表示的是错误码,但这并不是真正的错误码,我们需要先将其做一下转换
var errCode = err.number& x0FFFF; 这得到真正的错误码,例如上述的-2146823279 转换之后就得到5009。有了这个错误码之后,我们可以到http://msdn.microsoft.com/en-us/library/1dk3k160(VS.85).aspx微软msdn上查找此错误码对应的。5009对应的错误是Undefined identifier。
你可能对下面的文章感兴趣

本博客遵循CC协议2.5,即署名-非商业性使用-相同方式共享
写作很辛苦,转载请注明作者以及原文链接~
如果你喜欢我的文章,你可以订阅我的博客:-D点击订阅我的文章



最新评论
这个错误应该是因为Java不支持命名组导致的,将(?.*)语 法改成(.*),然后后向引用的时候使用\1即可。 但是由于java还不支持平衡组,也就是压入弹出堆栈的操...
在Expresso工具上确实可以运行 ;我改成java正则表达式后(?s)<(?<Ht mlTag>[\\w]+)[^>]*\\s...
这得看具体场景,如果你的文件非常大,那么使用正则匹配可能效率 会明显不如自己写一个程序一行一行去统计来得高。但是至少这种方 式不用自己写代码。
支持喽!博客不错!
好办法,不过据说正则表达式性能不高