我有一个 jdbcpostgresql
应用程序,我编写了“标准”连接管理器。对于每个成功的事务,我都会关闭语句对象和连接对象。如果其中一个SQLException
或ClassNotFoundException
发生,语句和连接对象会发生什么?在 catch 块中我应该关闭这两个对象吗?就像是:
Connection conn = null;
PreparedStatement pstm = null;
try {
conn = ConnectionManager.getConnection();
pstm = conn.CreateStatement(statement);
//set statement
}catch (SqlException ex) {
if(conn != null) {
pstm.close();
conn.close();
}
throw new MyException("error");
}catch (ClassNotFoundException ex) {
if(conn != null) {
pstm.close();
conn.close();
}
throw new MyException("error");
}
}