try catch中的return與finally
阿新 • • 發佈:2021-08-26
try catch中的return與finally
程式碼為
public class Test{ public int add(int a,int b){ try { return a+b; } catch (Exception e) { System.out.println("catch語句塊"); } finally{ System.out.println("finally語句塊"); } return 0; } public static void main(String argv[]){ Test test =new Test(); System.out.println("和是:"+test.add(9, 34)); } }
結果答案為:
finally語句塊
和是:43
解釋:System.out.println("和是:"+test.add(9, 34));
輸出的字串是一個整體,首先進入add方法,當程式執行到try{}語句中的return方法時,它會將要返回的結果儲存到一個臨時棧中,然後程式不會立即返回,而是去執行finally{}中的程式,因此輸出finally語句塊
當finally{}中的程式執行完畢時,就會將臨時棧中的值取出返回,最後輸出和是:43
。