2012-06-27 132 views
0

我需要一個函數,當捕獲錯誤時停止執行javascript。舉例如下:停止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 

有人知道該怎麼做嗎?感謝幫助。

+2

呃......「return」怎麼樣? – Teemu

+0

如果這些答案不能滿足您的需求,請您添加更多信息... – Beygi

回答

3

我想如果你用一回,應該可以:)

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

function BB() 
{ 
    //some script 
} 

回報一樣,將剛剛返回不確定。你可以返回一些更具體的東西,比如字符串或其他任何東西,以便在獲得這個早期返回時能夠有一個方便的行爲。

1

如果您希望AA的代碼冗餘執行,您也可以使用setTimeout。

function AA() 
{ 
    try{ 

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

function BB() 
{ 
    //some script 
} 
+0

這是什麼目的? – nbrooks

+0

有時您需要執行一些代碼才能觸發事件。 – jj88

+0

我真的沒有看到與你發佈的代碼有什麼關係 - 或者與問題= / – nbrooks

0

有兩種方式,

  1. 添加return語句

    function AA() 
    { 
        try{ 
        }catch(e){ 
        return; 
        } 
        BB(); 
    } 
    
    function BB(){ 
    } 
    
  2. 如果你想從代碼返回捕捉召喚你可以添加拋

功能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'); 
    }