java:try-catch后写不写finally的区别

相信有小伙伴跟我一样写finally和不写finally,try完或者catch完之后,一样会往后执行,那么写finally的意义何在呢?

我先来给出我理解的答案:

finally是防止try里面有return语句而发生catch没及时关闭一些东西 。

经测试,我们发现:

  1. try里有return,并且执行到了,也会先把finally执行完再return。而不写finally则直接return,不往后执行。
  2. catch里有return并且执行到了,同上。
  3. try或catch里面有return并且执行到了,finally里面也有return,则最终是执行finally里面的return。
  4. finally里面有return,finally体外也有return,对不起,语法不通过。

完。 

发布了60 篇原创文章 · 获赞 13 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/qq_35584878/article/details/101275980