在catch之前尝试使用资源执行finally块吗?

时间:2014-09-04 20:35:48

标签: java try-catch java-7 try-with-resources

我学习了java 7功能try with resources

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

的异常

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

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

如果尝试阻止抛出exception1并且close资源方法抛出exception2,那么exception1将被捕获,而exception2将被压制。

1 个答案:

答案 0 :(得分:4)

  

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

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

finally块将始终执行最后一次。