【发布时间】:2012-09-26 06:46:13
【问题描述】:
在下面的代码sn-p中,
try
{
Statement stmt = conect.getConnection();
stmt.executeUpdate(query);
}
catch(SQLException e)
{
//handle exception
}
finally
{
try{ stmt.close(); }
catch(SQLException ignore){}
}
在执行 stmt.close(); 时 finally 块中发生异常时会发生什么。 有没有更好的方法来处理这类问题?
【问题讨论】:
-
不严重的就记录一下,需要处理的再扔。
-
当你进入finally时,你只是在释放资源。异常可能已经发生或未发生。所以 finally 中的异常是“没有意义的”...... Case1:你遇到了异常,所以如果你不能关闭一个语句,那也不会是一个很大的惊喜。案例2:你已经没有犯错,但你不能关闭声明:没什么大问题,你已经保存了你的工作,等等