gpt4 book ai didi

java - 什么时候抛出 "throws Exception"?

转载 作者:行者123 更新时间:2023-11-29 09:53:48 25 4
gpt4 key购买 nike

假设以下函数:

public void close() throws SQLException {
if (rs != null) { rs.close(); }
if (ps != null) { ps.close(); }
if (connection != null){ connection.close(); }
}

如果我尝试关闭 rs 但它失败了,我的其余代码是否仍会执行(即是否在最后抛出异常),或者它是否会立即中断函数(从而阻止 ps 和连接得到正确关闭)。

最佳答案

如果异常发生在rs.close,则抛出异常。如果您希望执行那些其他语句,那么您需要使用 finally。如果您怀疑会抛出另一个异常,您可以创建一个函数,如 closeQuietly,如果您认为可以安全地忽略这些异常,它会确认但丢弃这些异常。例如(来自这个 answer ),

protected void closeQuietly( Resource resource ) {
try {
if (resource != null) {
resource.close();
}
} catch( Exception ex ) {
log( "Exception during Resource.close()", ex );
}
}

关于java - 什么时候抛出 "throws Exception"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23365869/

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