Java中的try-with-resources和return语句

我想知道将 return 语句放在 try-with-resources 块中是否会阻止资源自动关闭。

try(Connection conn = ...) {

return conn.createStatement().execute("...");

}

如果我这样写, 连接 会关闭吗?在Oracle文档中指出:

try-with-resources语句可确保在语句末尾关闭每个资源。

如果由于return语句而从未到达该语句的末尾,该怎么办?

回答:

根据Oracle的教程,“无论try语句正常完成还是突然完成,[[资源]都将关闭”。它定义abruptly为异常。

返回内部try是JLS

14.1定义的突然完成的示例。

以上是 Java中的try-with-resources和return语句 的全部内容, 来源链接: utcz.com/qa/414040.html

回到顶部