如何在JavaScript出错后继续处理代码?

时间:2017-05-31 14:47:47

标签: javascript error-handling

我尝试了以下内容:

window.onerror = function (msg, url, line, col, err) {
    return true
}

它只能防止错误显示在控制台中,但代码停止处理。

我希望浏览器忽略错误并继续处理下一行,因此在以下代码中:

alert(IDontExist);
alert("Hello");

应该弹出第二个警告,尽管之前有一个ReferenceError。

更新1:try...catch不是这里的方法,因为有问题的代码将是外部的。所以代码更像是:

内联HTML:

<script src="problematic.js"></script>

problematic.js

alert(UndefinedVariable);
alert("I am valid JS");

在这里,我希望弹出“我是有效的JS”。

1 个答案:

答案 0 :(得分:0)

尝试将有问题的功能包装在try-catch

try{
    //Here you put the code that it could crash
    console.log("Trying to execute the function");
    problematicFunction();
    //If an error is found, the code will go to catch and stop the try execution
    console.log("I will never be executed! :c");
} catch(e){
    //And here you put what to do in case that you have an error
    console.log("Hey i'm a cool error!\n" + e);
}
console.log("Guess what? I still working :D");