java - try with resources execute finally block before catch 吗?

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

<分区>

我学习了 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/

相关文章:

java - 对文件存在的不同行为进行单元测试

java - Spring 安全 : Ignoring alias of server-name and forcing relogin

java - 尝试资源失败但尝试有效

Android Studio - 无法下载 google apis intel x86 atom 系统镜像

java - 是否有 Java 7 到 Java 6 的转换器?

java - 在另一个线程中处理传入的套接字

Java 运行时错误

java - 关闭套接字问题

ios - 在 Swift 中捕获默认错误

javascript - return 语句在 javascript try block 中不起作用