1. 程式人生 > 其它 >try catch中的return與finally

try catch中的return與finally

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