Java 处理jdbc连接时尝试/捕获的最佳方法
我试图找出在处理JDBC中的连接时,使用try/catch的最佳方法是什么 我个人的看法是Java 处理jdbc连接时尝试/捕获的最佳方法,java,jdbc,Java,Jdbc,我试图找出在处理JDBC中的连接时,使用try/catch的最佳方法是什么 我个人的看法是 Connection conn = null; try{ conn = getDBConnection(); //Some jdbc code } catch(SQLException e) { //... } finally { if(conn != null) { try { conn.close(); } ca
Connection conn = null;
try{
conn = getDBConnection();
//Some jdbc code
} catch(SQLException e) {
//...
} finally {
if(conn != null) {
try {
conn.close();
} catch(SQLException e) {
//....
}
}
}
但我很少看到聪明人这么做
Connection conn = null;
try{
conn = getDBConnection();
//Some jdbc code
conn.close();
conn = null;
} catch(SQLException e) {
//...
} finally {
if(conn != null) {
try {
conn.close();
} catch(SQLException e) {
//....
}
}
}
在try中关闭连接并将其设置为null有什么好处吗 你的聪明人没那么聪明。你的方法是正确的。在
finally
块中只关闭一次连接,并且没有理由将连接设置为null
,这就是自动垃圾收集的目的。如果使用java 7,请参阅我在try-catch morgano上的回答谢谢你指出这一点我知道Java 7很酷的功能,但是我们仍然在使用JDK6。我想聪明的人担心的是,如果他们不将conn
设置为null,finally中的条件检查可能会成功,从而导致异常,因为连接已经关闭。谢谢