2

我学习了 java 7 功能try with resources

在 catch 块中,我应该处理来自try(通常)和来自的异常finally

这是否意味着 finally 在 catch 之前被调用?如果我想在 catch 中处理 Closeable 资源怎么办?

有一个观察结果证实了我的假设。

如果 try 块抛出异常 1 并且资源的关闭方法抛出异常 2,则异常 1 将被捕获,异常 2 将被抑制。

4

1 回答 1

7

如果我想在 catch 中处理 Closeable 资源怎么办?

在该部分中声明的资源try的范围仅限于try正文。如果您需要在 中访问它们catch,请使用常规try-catch语句。

finally块将始终最后执行。

于 2014-09-04T20:37:15.917 回答