try语句用finally有什么好处?它在try中return的之前执行还是之后执行?
2个回答
展开全部
之前执行,例如如下代码:
public Integer testReturn(){
int x = 1;
try {
System.out.println("->" + x);//1
return x;//5
} catch (Exception e) {}
finally {
System.out.println("-->" + x);//2
++x;//3
System.out.println("--->"腔州 + x);//4
}
return null;
}
输出结果顺序如代码中的注薯冲释,但是注意return x这里会输出1而不是2,因为这里的x是程序已经准备好的x,但还没执行,等到finally执行完毕之数圆歼后再执行,finally中对x的修改不会对已经准备好返回的x产生影响。
public Integer testReturn(){
int x = 1;
try {
System.out.println("->" + x);//1
return x;//5
} catch (Exception e) {}
finally {
System.out.println("-->" + x);//2
++x;//3
System.out.println("--->"腔州 + x);//4
}
return null;
}
输出结果顺序如代码中的注薯冲释,但是注意return x这里会输出1而不是2,因为这里的x是程序已经准备好的x,但还没执行,等到finally执行完毕之数圆歼后再执行,finally中对x的修改不会对已经准备好返回的x产生影响。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询