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
。