try語句區塊和finally語句區塊裡面有return語句, catch語句區塊裡面沒有return語句。
程式碼如下:
publicclassMain{publicstaticvoidmain(String[]args){System.out.println(test2());}publicstaticinttest2(){inti=10;try{System.out.println(try語句);return--i;}catch( Exceptione){System.out.println(catch語句);}finally{System.out.println(finally語句);return--i;}}}
運行結果如下:
try語句finally語句8
執行順序:
1.先執行try塊中語句,包括return語句中的表達式運算,但不回傳。
2.執行finally語句區塊中的全部程式碼。
3.最後發現finally語句區塊中有return語句,從這裡回傳。