在出现错误情况时停止JavaScript程序操作?

在出现错误情况时停止JavaScript程序操作?,javascript,Javascript,因此,在我的应用程序中,当出现特定情况时,我希望显示一个警报,然后停止程序执行。我在某个地方读到过,这可以通过投掷来完成,但我无法做到 以下是我尝试过的: function check_for_error(data) { try { if ( <error condition> ) { throw "error"; } } catch(e) { alert('error occured

因此,在我的应用程序中,当出现特定情况时,我希望显示一个警报,然后停止程序执行。我在某个地方读到过,这可以通过投掷来完成,但我无法做到

以下是我尝试过的:

function check_for_error(data) {
    try {
        if ( <error condition> ) { 
            throw "error"; 
        }
    } catch(e) {
            alert('error occured'); 
                // I want program execution to halt here but it does not, 
                // it continues within the calling code
    }
}
功能检查\u是否存在错误(数据){
试一试{
如果(){
抛出“错误”;
}
}捕获(e){
警报(“发生错误”);
//我希望程序在这里停止执行,但它没有,
//它在调用代码中继续
}
}

您应该在catch块中抛出另一个错误。或者根本不捕捉初始错误

目前,发生了以下情况:

<error condition me>
throw "error"
catch error and  Show alert

如果您的函数是从另一个try-catch块中调用的,您还必须对该块应用类似的机制。

您应该在catch块中抛出另一个错误。或者根本不捕捉初始错误

目前,发生了以下情况:

<error condition me>
throw "error"
catch error and  Show alert

如果您的函数是从另一个try-catch块中调用的,您还必须对该块应用类似的机制。

您必须重新引发异常:

...
catch(e) {
    alert('error occurred');
    throw(e);
}

您必须重新引发异常:

...
catch(e) {
    alert('error occurred');
    throw(e);
}
你也可以

function check_for_error(data) {
    try {
       //WHEN ERROR OCCURES
    } catch(e) {
            alert('error occured'); 
                // I want program execution to halt here but it does not, 
                // it continues within the calling code
            throw(e);
            return;
    }
}
你也可以

function check_for_error(data) {
    try {
       //WHEN ERROR OCCURES
    } catch(e) {
            alert('error occured'); 
                // I want program execution to halt here but it does not, 
                // it continues within the calling code
            throw(e);
            return;
    }
}

Throw only将停止同步rutines的执行,例如,如果您发出了一个异步http请求,它将执行回调函数,而不考虑前面的错误

从以下位置抛出文档:

语法

抛出异常

异常可以是字符串、整数、布尔值或对象


Throw only将停止同步rutines的执行,例如,如果您发出了一个异步http请求,它将执行回调函数,而不考虑前面的错误

从以下位置抛出文档:

语法

抛出异常

异常可以是字符串、整数、布尔值或对象


您可以尝试从catch块抛出错误,然后在被调用方方法中处理它。您可以尝试从catch块抛出错误,然后在被调用方方法中处理它。然后在调用函数中,将调用放入try/catch,catch为空。谢谢。Ok通过执行上述操作使其正常工作,然后在调用函数中将调用放入try/catch,catch为空。谢谢