Есть ли встроенный способ для определения в блоке finally, вы только что вышли из блока catch?Я знаю, что это легко сделать с помощью переменной, как показано ниже, но мне было просто любопытно, существует ли стандартный, встроенный способ сделать это.
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;
}
}