try catch finally執行問題

2021-09-25 03:05:20 字數 957 閱讀 6570

1、介紹:try catch finally語句常用來進行系統異常捕獲,在實際的工作中可以在catch語句塊中記錄系統異常日誌。finally語句塊是無論前面邏輯**是否有異常,其內部的語句都會執行。常用於流的關閉等操作

2、分析

private static int testnomal()

catch (exception)

finally

return x;//不執行

}//無異常狀態下,最終返回101

說明:如果try語句塊中沒有錯誤並有return語句,則返回的執行完中即返回結果值,然後繼續執行finally塊中的語句。

private static int testnomal()

catch (exception)

finally

return x;//返回201

}//無異常狀態下,最終返回201

說明:如果try塊中的語句沒有return,則執行finally中的語句庫,如果遇到return 則返回,後面的語句不會再執行。如果finally中也沒有return,則根據最終的return結果進行返回

private static int testexception()

catch (exception)

finally

return x;//不執行

}

說明:如果try語句塊中存在異常,則異常語句後的**不再執行,直接跳轉到catch語句塊中進行執行,如果catch中有return語句,則返回,catch中return語句後的**不再執行,而是執行finally塊中的語句。如果catch中沒有return語句,則繼續執行,知道遇到return語句時才進行結果返回。

重複強調:無論是否存在異常finally中的語句都會執行

try catch finally執行順序

public class test public static int ma catch exception e finally 說明 不出現異常情況 執行順序 try finally 出現異常情況 執行順序 try catch finally try中有返回語句,沒有異常 執行順序 try ret...

try catch finally執行順序

結論 1 不管有木有出現異常,finally塊中 都會執行 2 當try和catch中有return時,finally任會執行 3 finally是在return表示式運算後前執行的,所以函式返回值是在finally執行前確定的 4 finally中最好不要包含return,否則程式會提前退出,返回...

try catch finally使用體會

try catch finally public class finallytest static int test finally 結果是2。在try語句中,在執行return語句時,要返回的結果已經準備好了,就在此時,程式轉到finally執行了。在轉去之前,try中先把要返回的結果存放到不同於...