public static int exception() throws Exception {
int i=2;
try{
i++;
System.out.println(i);
return i;
}catch (Exception e){
i++;
return i;
}finally {
i++;
System.out.println(i);
return i;
}
}

执行顺序:
try语句—>return 挂起—>遇到异常进入catch语句—>进入finally—>最终执行finally中的return

try与catch相互独立,对于又返回数据的方法必须有return语句,finally可以没有return

所有语句执行,都会对i变量产生影响

try_catch_finally执行顺序
如果finally里面没有return语句,try里面的return语句会先挂起,等待finally执行结束后返回,finally里面对i变量值得改变不会改变try语句中的返回结果。个人理解,try语句里面的return结果已经确定,不会再改变。

相关文章:

  • 2021-12-04
  • 2021-09-12
  • 2022-01-06
  • 2021-08-13
  • 2021-08-30
  • 2022-02-02
猜你喜欢
  • 2021-07-10
  • 2022-12-23
  • 2022-12-23
  • 2021-07-31
  • 2021-05-28
相关资源
相似解决方案