本帖最后由 danliandejintou 于 2010-11-09 09:43:27 编辑

解决方案 »

  1.   

    这有什么奇怪的?这个逻辑很正常try {
     if(rs!=null) {
      rs.close();
     }
    } catch (Exception e) {
     try {
      if(stmt != null) {
       stmt.close();
      }
     } catch (Exception e) {
      if(conn != null) conn.close();
     }
    }
    你试想rs和stmt都抛出异常了呢?!上面的代码可以继续关闭connection,把好最后一道关
      

  2.   

    这是因为finally里面要关闭链接的操作也需要捕获异常··所以才会有finally里面再嵌套try {} catch()
      

  3.   


    finally {
    if (pstmt != null) {
    try {
    pstmt.close();
    } catch (SQLException e) {
    e.printStackTrace();
    }
    } if (conn != null) {
    try {
    conn.close();
    } catch (SQLException e) {
    e.printStackTrace();
    }
    } }你这样写就不困惑了吧!