Java终于阻塞问题

标签 java exception try-catch-finally

是否有内置方法可以在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/

相关文章:

c++ - 抛出异常类型没有限制

javascript - 使用 try/catch on 方法

java - HttpURLConnection catch block 重复

java - 如何在 Gradle 3.2.1 中找到 rootProject

java - 替代 JDBC-ODBC 桥

linq - MS CRM 2011 CrmSvcUtil 出现错误

java - Arraylist 输出被覆盖

java - 尝试写入文件时出现 FileNotFound 异常

java - 异常处理;试着抓

mysql - 如果抛出错误,是否需要释放连接?