为什么我们不应该在catch块中进行清理?

Uma*_*sai 2 java exception-handling try-catch-finally

可能重复:
为什么在Try ... Catch中使用Finally

为什么我们不应该使用catch块来清理代码?

我没有那么多使用错误处理技术,但我现在开始将它们用于几乎每个程序.关于时间

因此,在浏览文章/文档时,我遇到了finally块.

并且正如它所暗示的那样,无论是否存在异常,finally块都会运行(当然,如果JVM或PC被强制关闭,它将无法运行).最后,块通常用于清理代码(资源).

所以基本上,如果我的代码没有异常,那么我为什么要清理代码呢.我不应该将清理代码放在catch块而不是finally块中.

我试着寻找类似的问题,但似乎没有人问过这个问题.所以我继续前进并提出了一个问题:D

Rob*_*vey 7

因为不保证catch执行.finally除非你把电源线从墙上踢出来,否则 这个区块确实有这样的保证.

  • 或者你调用`System.exit()`...或者你的CPU [被宇宙射线击中](http://stackoverflow.com/questions/2580933/cosmic-rays-what-is-the-probability-they - 将会-影响-A-程序)... (2认同)
  • 或者如果地球被外星人摧毁. (2认同)