2016-02-11 63 views
0

例外可以在Chrome和Firefox被消除,但沒有辦法在IE如何抑制未捕獲的異常在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的錯誤消息 窗口事件,該事件對象的returnValue屬性設置爲 真或者乾脆微軟返回true JScript中。

但是當你看到這不會記錄到控制檯

+1

IE可能有它自己的方法叫做加文或東西...我年前放棄了編碼IE,IE用戶只是在我的網站上得到貶義的消息 - 我打算補充,你有沒有嘗試過搜索MSDN的任何線索? –

+0

@JaromandaX我已經更新了我的問題,指向MSDN文章,似乎相關但沒有幫助 – mnaoumov

回答

0

錯誤,幫助這裏的問題是你如何拋出異常。

你應該做以下幾點:

throw new Error("my error"); 

這裏有一個參考:https://www.nczonline.net/blog/2009/03/10/the-art-of-throwing-javascript-errors-part-2/

+0

這對原始問題沒有任何影響。請參閱https://jsfiddle.net/9uj4xm3g/5/和https://jsfiddle.net/gv0pvy3b/4/。我也在更新問題來澄清問題 – mnaoumov

+0

而且你的建議對我們自己的代碼有好處,但是我希望能夠處理可能會將錯誤作爲普通字符串拋出的第三方庫 – mnaoumov