【发布时间】:2016-04-25 17:34:58
【问题描述】:
下面的代码无法编译,因为 PreparedStatement.close() 和 ResultSet.close() 都会抛出 java.sql.SQLException。那么我应该在 finally 子句中添加一个 try/catch 块吗?或者将 close 语句移到 try 子句中?或者只是不打扰打电话关闭?
PreparedStatement ps = null;
ResultSet rs = null;
try {
ps = conn.createStatement(myQueryString);
rs = ps.executeQuery();
// process the results...
} catch (java.sql.SQLException e) {
log.error("an error!", e);
throw new MyAppException("I'm sorry. Your query did not work.");
} finally {
ps.close();
rs.close();
}
【问题讨论】: