是否有内置方法可以在finally block 中确定您是否刚刚从catch block 中出来?我知道这可以通过像下面这样的变量轻松完成,但我只是好奇是否有一个标准的内置方法可以做到这一点。
boolean bException = false;
try
{
dbf = new DBFunctions();
dbf.db_run_query(query2);
dbf.rs.next();
nMonth = dbf.rs.getInt("calquarter") * 3;
nYear = dbf.rs.getInt("calyear");
}
catch (SQLException sqle)
{
out.println(sqle.toString());
bException = true;
}
finally
{
dbf.closeConnection();
if (bException == true)
return;
}
更新:以下是 closeConnection() 方法的内容,该方法只是尝试关闭所有数据库对象:
public void closeConnection()
{
if (rs != null)
{
try { rs.close(); } catch (SQLException e) { ; }
rs = null;
}
if (stmt != null)
{
try { stmt.close(); } catch (SQLException e) { ; }
stmt = null;
}
if (con != null)
{
try { con.close(); } catch (SQLException e) { ; }
con = null;
}
}
最佳答案
据我所知还没有。然而,在这种情况下,您只需将 return
放入 catch
block 中可能会更好。 finally
block 仍将运行。
关于Java终于阻塞问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5687462/