-
發生的異常被catch捕獲到之后,執行完catch中的代碼后,還是會繼續執行.then中的代碼。
-
如果想要阻止后續代碼繼續執行,可以使用 throw new Error 向外拋出錯誤,或者使用promise的reject()。
注: 1、正常執行的代碼如果第一句出現異常,就不會執行第二句以及后面的所有正常代碼 2、對於 try catch finally而言,無論是否出現異常,異常是否被catch捕獲,finally中的代碼都會被執行,即使 try 或者 catch 中有 return 語句,finally 中的代碼還是會執行,finally 執行完后,如果try中的異常被catch捕獲,就會繼續執行try catch外面的其他無關代碼,如果沒有被捕獲,就會繼續向外拋出異常,即中斷執行后續所有代碼。 如下所示: try{ //正常執行的代碼 }catch (e){ //出錯后執行的代碼 }finally{ //無論正常執行還是出錯,之后都會執行的代碼 } //跟上面try catch無關的代碼
