处理 jdbc 连接时尝试/捕获的最佳方法
Posted
技术标签:
【中文标题】处理 jdbc 连接时尝试/捕获的最佳方法【英文标题】:Best approach for try/catch while dealing with jdbc connection 【发布时间】:2014-03-18 23:43:30 【问题描述】:我试图找出在处理 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有什么好处吗?
【问题讨论】:
您的方法更好,另外,如果您使用的是 java 7,请参阅我在 try-catch here 上的回答 morgano 感谢您指出这一点我知道 Java 7 的酷特性但是我们仍在使用 JDK6 【参考方案1】:你的聪明人没那么聪明。你的方法是要走的路。在finally
块中只关闭一次连接,没有理由将连接设置为null
,这就是自动垃圾回收的用途。
【讨论】:
我认为聪明人担心的是,如果他们不将conn
设置为null,由于连接已经关闭,finally 中的条件检查可能会成功导致异常。谢谢!!以上是关于处理 jdbc 连接时尝试/捕获的最佳方法的主要内容,如果未能解决你的问题,请参考以下文章