首頁  >  文章  >  web前端  >  js中try、catch、finally的執行規則

js中try、catch、finally的執行規則

高洛峰
高洛峰原創
2017-02-25 15:41:091297瀏覽

try:  語句測試程式碼區塊的錯誤,一般把可能會出錯的程式碼放到這裡

catch: 只有當try裡面的程式碼區塊發生錯誤時,才會執行這裡的程式碼,參數err記錄著try裡面程式碼的錯誤訊息

finally: 無論有無異常裡面程式碼都會執行

try{
 console.log(0);
 }catch (err){
 console.log(1);
 console.log(hello);
 }finally {
 console.log(2);
 }
 //最后结果分别打印出 0 2
 /*
 try{
 a.b.c();
 }catch (e){
 console.log(1);
 console.log(hello);
 }finally {
 console.log(2);
 }
 */
 //最后结果分别打印出 1 2 报错:hello is not defined
 /*
 try{
 a.b.c();
 }catch (e){
 console.log(1);
 try{
  console.log(hello);
 }catch (e){
  console.log(3);
 }
 }finally {
 console.log(2);
 console.log(word);
 } 
 */
 //最后结果分别打印出 1 3 2 报错:word is not defined
 /*
 try{
 a.b.c();
 }catch (e){
 console.log(1);
 console.log(hello);
 }finally {
 console.log(2);
 console.log(word);
 }*/
 //最后结果分别打印出 1 2 报错:word is not defined

總結:

try裡面的程式碼報錯的時候,catch裡面的程式碼才會執行,finally裡面的程式碼永遠會執行

catch和finally裡面,正常的程式碼會從上到下順序執行

如果只是catch裡面程式碼出錯,則報catch裡面的錯誤

如果catch和finally都出錯則會報finally裡面的錯誤

以上就是本文的全部內容,希望本文的內容對大家的學習或工作能帶來一定的幫助,同時也希望多多支援PHP中文網!

更多js中try、catch、finally的執行規則相關文章請關注PHP中文網!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn