JDBC commit和rollback方法的写法问题

鸣鸣Amadues SAP 应用开发  2015-10-02 10:02:55
try
{
conn.commit();
conn.close();
}
catch(SQLException e)
{
//处理异常
}

rollback是不是需要写在catch里?
那样的话就是,
try
{
conn.rollback();
}
catch(SQLException e)
{
//处理异常
}
...全文
159 点赞 收藏 3
写回复
3 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
vachel66 2015-10-02
commit和rollback方法都声明了会抛出异常,因此从语法上是需要捕获异常的。
回复
鸣鸣Amadues 2015-10-02
引用 2 楼 u010087908 的回复:
    Connection conn = null;
    try {
      conn = DriverManager.getConnection(url, username, password);
      conn.setAutoCommit(false);
     ...
      conn.commit();
    } catch (SQLException e) {
      if (conn != null) {
        conn.rollback();
      }
      e.printStackTrace();
    } finally {
      if (conn != null && !conn.isClosed()) {
        conn.close();
      }
    }
你这个 conn.rollback();会提示编译错误吗?我感觉和我一样没有捕获异常啊。
回复
NANU-NANA 2015-10-02
    Connection conn = null;
    try {
      conn = DriverManager.getConnection(url, username, password);
      conn.setAutoCommit(false);
     ...
      conn.commit();
    } catch (SQLException e) {
      if (conn != null) {
        conn.rollback();
      }
      e.printStackTrace();
    } finally {
      if (conn != null && !conn.isClosed()) {
        conn.close();
      }
    }
回复
相关推荐
发帖
Web 开发
创建于2007-09-28

8.0w+

社区成员

Java Web 开发
申请成为版主
帖子事件
创建了帖子
2015-10-02 10:02
社区公告
暂无公告