- fianlly中的代码一定会执行,除非在执行前,先执行了exit,或者电脑断电。
- 在try或者catch中有return时,若有finally,也会先执行finally中的代码,然后返回。
- fianlly语句虽然能在return之前执行,但是finally语句不能通过重新给变量赋值的方式改变return语句的返回值。
- 例如:
- int a=100;
- try
- { ... reurn a+1;}
- catch(Exceptioin e)
- {retrun a;}
- finally
- {a=1000;}
在这里,return返回的值要么是101(没有异常发生),要么是100(异常发生了)。但不会是1000(即finally语句没有改变返回值
4. 建议在finally中不要使用return语句。
253





