相信有小伙伴跟我一样写finally和不写finally,try完或者catch完之后,一样会往后执行,那么写finally的意义何在呢?
我先来给出我理解的答案:
finally是防止try里面有return语句而发生catch没及时关闭一些东西 。
经测试,我们发现:
- try里有return,并且执行到了,也会先把finally执行完再return。而不写finally则直接return,不往后执行。
- catch里有return并且执行到了,同上。
- try或catch里面有return并且执行到了,finally里面也有return,则最终是执行finally里面的return。
- finally里面有return,finally体外也有return,对不起,语法不通过。