解析IE中的Javascript Error对象

来源:互联网 发布:澳洲能上淘宝吗 编辑:程序博客网 时间:2024/06/05 20:39

之前写过一篇文章,提到怎么在各个浏览器下返回执行错误的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。

原创粉丝点击