Wo kann man java PreparedStatements und ResultSets schließen?
Betrachten Sie den Code:
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();
}
Der obige Befehl wird nicht kompiliert, da beidePreparedStatement.close()
undResultSet.close()
Werfen Sie einenjava.sql.SQLException
. Füge ich der finally-Klausel einen try / catch-Block hinzu? Oder die close-Anweisungen in die try-Klausel verschieben? Oder einfach nicht die Mühe machen, in der Nähe anzurufen?