如何以致命错误或类似方式失败?

时间:2013-07-04 06:48:48

标签: javascript fatal-error

是否可以在特定条件下使用特定错误消息终止脚本?例外不是一种选择,因为它们可以被捕获,从而避免终止。

更新

我更喜欢通用方法,但如果没有,那么它就是浏览器中的JavaScript。错误应该是静默的,错误消息应该只进入浏览器错误日志。

2 个答案:

答案 0 :(得分:1)

如果你的代码在try语句中,并且你正在寻找一种方法来阻止某些错误,那么我认为你正在寻找finally块:

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Statements?redirectlocale=en-US&redirectslug=JavaScript%2FGuide%2FStatements#The_finally_Block

从该网站(以及为alert()编辑恼人的console.log()),您可以找到以下示例:

function f() {
    try {
        console.log(0);
        throw "bogus";
    } catch(e) {
        console.log(1);
        return true; // this return statement is suspended until finally block has completed
        console.log(2); // not reachable
    } finally {
        console.log(3);
        return false; // overwrites the previous "return"
        console.log(4); // not reachable
    }
    // "return false" is executed now

    console.log(5); // not reachable
}
f(); // alerts 0, 1, 3; returns false

答案 1 :(得分:-1)

不幸的是,我只是通过以下丑陋的解决方法来实现这一目标:

var failWithFatalError; // A non-existent function
console.error (message + ' in ' + homebrewStackTraceFunction());
failWithFatalError();