4

我需要一个在捕获错误时停止执行 javascript 的函数。例如如下:

function AA()
{
  try{
    executeScript();
  }catch(e){
    //stop execute javascript
  }
}

function executeScript()
{
   throw 'error';
}
function BB()
{
  //some script
}
AA();
BB(); //don't execute when error happening

有人知道怎么做吗?感谢帮助。

4

3 回答 3

7

我认为如果您使用 return 它应该是可能的:)

function AA()
{
  try{
  }catch(e){
    //stop execute javascript
    return;
  }
  BB(); //don't execute when error happening
}

function BB()
{
  //some script
}

像这样返回只会返回undefined。您可以返回更具体的内容,例如字符串或其他任何内容,以便在您获得此早期返回时能够有方便的行为。

于 2012-06-27T06:39:47.783 回答
2

有两种方式,

  1. 添加返回语句

     function AA()
     {
       try{
       }catch(e){
         return;
       }
       BB();  
     }
    
     function BB(){   
     }
    
  2. 如果你想在 catch 调用之前从代码中返回,你可以添加 throw

    function AA() {           
        try{
           javascript_abort();
         }catch(e){
            return;
         }
         BB();  
        }
    
    
     function BB(){   
             }
    
         function javascript_abort(){
            throw new Error('This is not an error. This is just to abort javascript');
         }
    
于 2012-06-27T06:47:54.593 回答
1

如果您希望 AA 中的代码冗余地执行,您也可以使用 setTimeout。

function AA()
{
  try{

  }catch(e){
    return;
  }
  BB(); //don't execute when error happening
  setTimeout("AA()",500);
}

function BB()
{
  //some script
}
于 2012-06-27T06:43:09.157 回答