关于整个问题,其实就向3楼同学说的那样,其实你理解了try{}catch(){} finally{} 是怎么执行的就知道怎么回事了
3楼的事例多加个数进去就看的更清楚一点:
public class Demo{
public static void main(String args[]){
System.out.println(test(10,2));
}
public static int test(int b,int c){
try{
b += 10;
return b+c;
}catch(Exception e2){
}finally{
b += 10;
c+=b;
return b;
}
}
}
结果:30
问题在于,代码是先执行try{}中的语句当下面有finally{}语句时,try中的return必不会马上返回,而是放在一边继续finally{}语句,如果finally{}中有return 程序会吧finally{}中return的值返回。。。。。 |