try語句區塊、 catch語句區塊和finally語句區塊裡面都有return語句,存在異常。
程式碼如下:
publicclassMain{publicstaticvoidmain(String[]args){System.out.println(test4());}publicstaticinttest4(){inti=10;try{System.out.println(try語句);intj=10/0;return- -i;}catch(Exceptione){System.out.println(catch語句);return--i;}finally{System.out.println(finally語句);return--i;}}}
運行結果如下:
try語句catch語句finally語句8
執行順序:
1.先執行try區塊中語句,出現異常,catch擷取到異常。
2.執行catch區塊中語句,包括return語句中的表達式運算,但不回傳。
3.執行finally語句區塊中的全部程式碼。
4.最後發現finally語句區塊中有return語句,從這裡回傳。