如何在IE中抑制未捕获的异常

时间:2016-02-11 10:05:41

标签: javascript internet-explorer exception

可以在Chrome和Firefox中禁止例外,但IE中没有一种方法可以使用

window.addEventListener("error", function errorHandler(event) {
    console.log("exception should be suppressed and not shown in the console");
    event.preventDefault();
});

throw "suppress me";

window.onerror = function errorHandler() {
    console.log("exception should be suppressed and not shown in the console");
    return true;
};

throw "suppress me";

你可以和他们一起玩

https://jsfiddle.net/9uj4xm3g/4/

https://jsfiddle.net/gv0pvy3b/3/

有什么想法吗?

UPD:

我忘了澄清 压制 的含义。我希望能够通过将错误标记为 处理 来完全隐藏 SCRIPT5022 消息。

Internet Explorer doesn't allow to suppress uncaught exceptions in console

根据https://msdn.microsoft.com/en-us/library/cc197053.aspx

  

要取消默认的Windows Internet Explorer错误消息   window事件,将事件对象的returnValue属性设置为   true或只是在Microsoft JScript中返回true。

但正如您所看到的,这对记录到控制台的错误没有帮助

1 个答案:

答案 0 :(得分:0)

这里的问题是你如何抛出异常。

您应该执行以下操作:

throw new Error("my error");

以下是https://www.nczonline.net/blog/2009/03/10/the-art-of-throwing-javascript-errors-part-2/

的参考资料