什么时候使用最后尝试而不是最后尝试

she*_*aei 2 java exception try-catch

使用Try Catch Final块的最佳实践是什么?您更喜欢只使用try finally块而不尝试catch块吗?我一直以为最终尝试捕获是最佳的使用方法。但是,在我正在使用的部分代码中,我看到了这样的代码:

试试{doSomething(); }最后{doSomethingElse(); }

由于他们没有捕获到异常,因此我很难调试代码。对我而言,不使用catch而是仅在最后使用,这不是一个很好的习惯,但是我可能错了。

据我所知,这实际上不是一个好习惯。基本上,我们没有利用尝试捕获的意图。我也发现了类似的问题

我的问题是:“在以下假设上您是否同意我的观点:最佳实践是一起尝试最后捕获而不是最终尝试。” 如果您不同意,请您提供一个示例,说明何时使用try try而不是try catch,为什么您认为try try优于try catch?

Chr*_*per 6

我不同意,如果您不能对引发异常做任何事情,但是可以在调用者层次结构中做进一步的事情,那么可以使用finally清理资源,并让调用者在引发异常之后进行清理。

  • @sheidaei是的,这就是它的工作原理。除非您的finally代码抛出异常,否则将抑制原始异常,并且我认为finally块永远不应被允许抛出异常(但应将它们记录下来)。 (2认同)