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中文網!