处理Javascript中的运行时错误

时间:2016-11-01 11:58:50

标签: javascript ajax

我想在Javascript中处理运行时错误。但是我遇到了一个问题。当我以前使用window.onerror函数时,我可以得到异常错误。但是我在任何已定义的函数中定义了一个未定义的函数。我看不出任何异常。我在哪里做错了?

这是我使用的代码;

# pods "EXAMPLE" was not valid:
# * spec: Forbidden: pod updates may not change fields other than `containers[*].image` or `spec.activeDeadlineSeconds`

} window.onerror = errorHandler;

index.html代码;

function errorHandler(message, url, line, column, error) {
debugger    
var message = [
'Message: ' + message,
'\nURL: ' + url,
'\nLine: ' + line,
'\nColumn: ' + column,
];

exceptionTest()函数在我的代码中定义。但测试功能未定义。我想得到关于该未定义函数的错误。我怎样才能做到这一点 ?它只显示浏览器的控制台窗口。 谢谢你的建议。

2 个答案:

答案 0 :(得分:0)

您可以使用try catch块来捕获这些错误:

try{
    test();
} catch(error){
   console.log("Following error happened:", error);
}

答案 1 :(得分:0)

好吧,我试过下面的用例,其中 onerror 取自this MDN Link

<!DOCTYPE html>

<html lang="en" xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta charset="utf-8" />
    <title></title>
</head>
<body onload="Test1();">

    <script type="text/javascript">
        function Test1() {
            Test2();
        }

        window.onerror = function (msg, url, lineNo, columnNo, error) {
            var string = msg.toLowerCase();
            var substring = "script error";
            if (string.indexOf(substring) > -1) {
                alert('Script Error: See Browser Console for Detail');
            } else {
                var message = [
                    'Message: ' + msg,
                    'URL: ' + url,
                    'Line: ' + lineNo,
                    'Column: ' + columnNo,
                    'Error object: ' + JSON.stringify(error)
                ].join(' - ');

                //uncomment below line to see the message in console.
                //console.log(message); 
                alert(message);
            }

            return false;
        };
    </script>
</body>
</html>

它显示错误位置的正确消息,包括行号和列号。

登录到控制台时的错误信息如下:

DOM7011: The code on this page disabled back and forward caching. For more information, see: http://go.microsoft.com/fwlink/?LinkID=291337
HTMLPage1.html
HTML1300: Navigation occurred.
HTMLPage1.html
SCRIPT5009: 'Test2' is undefined
HTMLPage1.html (12,13)
Message: 'Test2' is undefined - URL: file:Desktop/HTMLPage1.html - Line: 12 - Column: 13 - Error object: undefined
HTMLPage1.html (29,17)