java异常try catch finally中return以及执行顺序总结
1.finally一定会执行
2.try catch finally他们中有两处return时或者只有finally里面有一个return时,
就不可以与try catch finally外的return不能同时存在
try{ return;}catch(){return;} finally{return;}return;(只是为了演示return位置)
执行顺序:按顺序先执行return之前(包括return语句中的表达式运算)代码
无异常 try--->finally返回finally的return,如果finally没有return,返回try的return,如果try没有return,返回try catch finally外的return
有异常 try---->catch---->fianlly返回finally的return,如果没有,返回catch的return,如果没有,返回try catch finally外的return,不再进入try返回值