前言
在java中,想必大家都会用到try{}catch{}finally{},try中是来包裹可能会出现异常的代码,catch{}是抛出异常,finally{}是必须执行的代码。但是具体的细节可能没有去深究,今天就带大家来看看常见的面试题。
- 情况1
public int test() {
int i=1;
try {
System.err.println("try i:"+i);
return i;
}catch (Exception e) {
System.err.println("catch i:"+i);
return i;
}finally {
++i;
System.err.println("finally i:"+i);
}
}
public static void main(String[] args) {
Solution solution=new Solution();
int i = solution.test();
System.err.println(i);
}
输出结果:try i:1
finally i:2
1解释:程序不会进入catch,因为没得错误,在try中return i,将i的值保存在一个临时变量中,然后执行finally.最后返回i=1.
- 情况2
public int test() {