java - 为什么在 catch 之后使用 finally 而不是 code

标签 java try-catch-finally

为什么要这样做

} catch (SQLException sqle) {
    sqle.printStackTrace();
} finally {
    cs.close();
    rs.close();
}

不是这个

} catch (SQLException sqle) {
    sqle.printStackTrace();
}
rs.close();
cs.close();

最佳答案

因为如果抛出异常在执行 try block 之后没有代码除非异常被捕获。无论您的 try block 内发生什么,总是会执行 finally block 。

关于java - 为什么在 catch 之后使用 finally 而不是 code,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4691962/

相关文章:

java - finally 添加 return 隐藏异常

java - 从finally block 返回一个值

java - 如果没有 catch block ,哪个异常处理程序将处理异常?

java - 同一台服务器上的 Spring Boot + Angular2

java - 构建中的 Jenkins View 涵盖多个插件执行(插件开发)

java - Google App Engine Query Execute 只接受 3 个参数

Java 1.5 到 1.4

.net - Try-Finally block 上的 Final 内的异常

java - 这段 Java Puzzlers 代码有什么问题?

java - 如何在 linux 和 unix 中将 "kill -3 <jvm pid>"标准输出单独重定向到一个文件?