从JavaScript错误事件处理程序获取更多详细信息

时间:2011-06-15 16:06:52

标签: javascript events error-handling

我制作了一个简单的弹出图像查看器。你可以在这里看到它的演示页面:
http://caerphoto.com/quickslide/

和实际的JS在这里:
http://caerphoto.com/quickslide/quickslide.js

我正在尝试将有用的错误处理程序添加到setPopup()函数(第169行左右)中创建的图像对象中,但事实证明这很困难。注册处理程序工作正常,当出现问题时,处理程序将触发。

问题是,“错误的MIME类型”之类的不重要的事情算作错误,至少在Windows上(在OS X中,在Chrome和FF4中似乎很好),因此即使图像加载,每次都会弹出错误消息细

有没有办法确定实际的错误是什么,所以我可以过滤掉重要的错误(例如404)并做出相应的响应?为了澄清,我要问的是处理错误事件,而不是JavaScript异常。

我已经尝试检查传递给处理程序的错误对象,但它似乎没有包含任何有用的信息。


编辑:

看来我误解了错误的原因 - 事实证明这条线是造成它的:

popupImg.src = "";

然而问题仍然存在 - 确切地知道出了什么问题是有用的。

1 个答案:

答案 0 :(得分:0)

您是否查看了Mozilla浏览器中的error object?您始终可以在try...catchdocs)块中包装内容以查看您的异常详细信息,这些信息提供了相当多的信息。

try {
 var t = a.notexists + b.thisisnotreal;
} catch (e) {
 /* do something with the error */
}

错误对象对IE的实用性有限,你得到一些非标准的东西,但它并没有真正为你做任何好处。对于Mozilla,有一些值得一提的非标准属性,特别是stacklineNumber - 对调试最有用。