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?

Antworten auf die Frage(26)

Ihre Antwort auf die Frage