前言
关于Java中try catch和finally,我们知道,无论try块中的字段是否有异常发生,最终都会执行finally中的语句.可是如果我们在try块中填入return语句,程序仍然会执行finally中的语句.如下面的程序所示:
@Test
public void test(){
try{
System.out.println(1);
return ;
}catch (Exception e){
}finally {
System.out.println(2);
}
}
输出结果:
那么如果try和finally中都有return语句的话,函数的返回值又会是怎样的呢?
程序示例:
@Test
public void test(){
System.out.println(testFinally());
}
public int testFinally(){
try {
return 2;
}catch (Exception e){
}finally {
return 6;
}
}
输出结果不出所料,是6.