gpt4 book ai didi

java - 在java中从catch/finally返回值?

转载 作者:行者123 更新时间:2023-12-03 23:08:05 32 4
gpt4 key购买 nike

我有以下代码。如果查询无异常执行,则应返回 true,如果抛出任何异常,则应返回 false。最后声明和连接应该关闭。
我的问题是我应该在哪里写return语句?在捕获还是最终?在下面的代码中,如果执行查询,我在 try 中返回 true,如果抛出任何异常,则在 catch 中返回 false。我的问题是,如果抛出任何异常,是否会返回 false 并关闭连接和语句?

try {
statement = connection.createStatement();
statement.executeQuery("select * from dual");
return true;
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
return false;
} finally{
try {

statement.close();

connection.close();

} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();

}

}

最佳答案

在这两种情况下,将它写在 try-catch 块的外面,在它下面。 切勿在最终块中使用返回 因为该 return 语句将始终执行,践踏了 try-block 中的常规 return 语句!

关于java - 在java中从catch/finally返回值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10551587/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com