我试图找出在JDBC中处理连接时try / catch的最佳方法。
我的个人观点是。
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是否有任何优势?
答案 0 :(得分:5)
你聪明的家伙并不那么聪明。你的方法是要走的路。在finally
块中仅关闭一次连接,并且没有理由将连接设置为null
,这就是自动垃圾收集的用途。