<分区>
我学习了 Java 7 特性尝试使用资源
。
在 catch block 中,我应该处理来自 try
(通常)和来自 finally
是不是说finally在catch之前被调用了?如果我想在 catch 中处理 Closeable 资源怎么办?
有一个观察结果证实了我的假设。
如果 try block 抛出异常 1 并且资源的关闭方法抛出异常 2,则异常 1 将被捕获,异常 2 将被抑制。
<分区>
我学习了 Java 7 特性尝试使用资源
。
在 catch block 中,我应该处理来自 try
(通常)和来自 finally
是不是说finally在catch之前被调用了?如果我想在 catch 中处理 Closeable 资源怎么办?
有一个观察结果证实了我的假设。
如果 try block 抛出异常 1 并且资源的关闭方法抛出异常 2,则异常 1 将被捕获,异常 2 将被抑制。
最佳答案
What if I want to treat to Closeable resource in catch?
在 try
部分中声明的资源的范围仅限于 try
主体。如果您需要在 catch
中访问它们,请使用常规的 try-catch
语句。
finally
block 总是最后执行。
关于java - try with resources execute finally block before catch 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25674572/