隐藏浏览器的javascript错误

时间:2011-07-24 08:41:02

标签: javascript jquery javascript-events client-side

我在其中一个问题上找到了这个代码示例;

window.onerror = function (msg, url, linenumber) {  

 //make ajax call with all error details and log error directly into the elmah database

 //show freindly error msg here to user

 //hide error from browser
 return true; 
}

'隐藏浏览器错误意味着什么?我该怎么做?

我不知道存在这样的事情,我尝试使用try-catch块。发生错误后,我意识到浏览器仍然显示错误。如何从浏览器中隐藏错误

更新

我尝试使用代码并将其放在我所有页面的head部分内,但注意到了;

<script type="text/javascript">

(function () {

    window.onerror = function myErrorHandler(errorMsg, url, lineNumber) {

        alert(errorMsg);

        // Just let default handler run.
        return true;
    }

})();

</script>

3 个答案:

答案 0 :(得分:5)

使用:尝试...捕捉

function message()
{
    try
    {
        adddlert("Welcome guest!");
    }
    catch (err)
    {
        txt = "There was an error on this page.\n\n";
        txt += "Error description: " + err.description + "\n\n";
        txt += "Click OK to continue.\n\n";
        alert(txt);
    }
}

更多:https://developer.mozilla.org/en/JavaScript/Reference/Statements/try...catch

答案 1 :(得分:3)

  

当函数返回true时,这会阻止触发默认事件处理程序。

如果此函数返回true,它就是浏览器的行为方式。

See more

答案 2 :(得分:1)

将 window.onerror 函数添加到 head 部分并返回 true 将停止将错误事件记录到浏览器控制台。

正如@Decko 提到的,返回 true 会阻止触发默认事件处理程序。

Stackblitz - https://stackblitz.com/edit/web-platform-mfattr?file=index.html