IE6 Try/Catch 块不适用于自定义 document.someFunction 调用
如何将一个函数附加到 IE6 中的全局文档对象,并且仍然能够捕获调用该函数时抛出的异常?
令人惊讶的是,在下面的示例中,异常不会传播到 IE6 中的函数之外:
// Declare function on document
document.someFn = function()
{
throw new Error('Raised error');
}
// IE6: bug??
try{
document.someFn('some parameter');
alert('2. error has not been raised: bad!');
}
catch(err) {
}
您可以在此处尝试该示例和一些额外的测试用例:
http://www.pokret.org/stuff/ie6-bug-test.html
有任何解决方法吗?
How can I attach a function to the global document object in IE6, and still be able to catch exceptions thrown from that function when called?
Surprisingly, the exception does not propagate outside the function in IE6 in example below:
// Declare function on document
document.someFn = function()
{
throw new Error('Raised error');
}
// IE6: bug??
try{
document.someFn('some parameter');
alert('2. error has not been raised: bad!');
}
catch(err) {
}
You can try out the example and some extra test cases here:
http://www.pokret.org/stuff/ie6-bug-test.html
Any workaround ideas?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我知道这是一个非常古老的问题,但以防万一有人在我遇到同样的问题后出现,我发现这似乎有效:
I know this is a monumentally old question, but just in case someone comes along after me running into the same problem, I've found that this seems to work:
有关 尝试...catch 在 IE 中。
MSDN article on try...catch in IE.