2017-04-06 53 views
0
for (var i = 0, len = IDs.length; i < len; i++) { 

    entry = IDs[i]; 
    isAnyFailure = false; 

    try{ 
    var id = db.getSiblingDB("door").jhi_user.findOne({"_id" : entry}); 
    } catch (err){ 

    failedIDs.push(entry); 
    failedCount++; 
    isAnyFailure = true; 
    } 

... 
} 

如果它捕捉到任何錯誤,它會繼續編碼或者它會轉到下一次迭代?在javascript中捕捉錯誤中斷循環?

+1

爲什麼你不記錄你的代碼,或者在調試器中瀏覽一下,看看? –

+1

它應該繼續下一次迭代.. –

回答

1

循環繼續try和catch:

for (var i = 0; i < 10; i++) 
 
    { 
 
     try 
 
     { 
 
     if(i == 6) 
 
     { 
 
      document.getElementById('noid').html("x"); //this will cause an exception as no such ID exists 
 
     } 
 
     console.log("In try Iteration :: "+i); 
 
     } 
 
     catch (err) 
 
     { 
 
     console.log("In catch Iteration :: "+i); 
 
     } 
 
    }

try和catch的整個概念是,如果發生異常,而不是突然停止程序/腳本繼續執行。