奇怪的双重window.onerror行为

时间:2016-03-30 21:57:30

标签: javascript html

我有两个测试文件,test1.htmltest2.html。我有test1.html如下:

<script>
window.onerror = function (message, file, lineNumber, columnNumber, error) {
    console.log(message, file, lineNumber, columnNumber, error);
};

asdf // Trigger error
</script>

打印(如预期的那样)

Uncaught ReferenceError: asdf is not defined file:///Users/justin/Desktop/test1.html 6 1 ReferenceError: asdf is not defined(…) 

我有test2.html如下:

<script src='test.js'></script>

其中test.js是:

window.onerror = function (message, file, lineNumber, columnNumber, error) {
    console.log(message, file, lineNumber, columnNumber, error);
};

asdf

打印(不是预期的)

Script error.  0 0 null

如果使用src='test.js'代替内联我的脚本时,如何捕获错误信息?

1 个答案:

答案 0 :(得分:0)

我没有使用window.onerror,但确实显示了相同的错误:

  

未捕获的ReferenceError:未定义asdf

try {
    asdf // Trigger error
} catch (e) {
    function test (message, file, lineNumber, columnNumber, error){
        console.log(message, file, lineNumber, columnNumber, error);
    };

    test(e);
}