JDBC commit和rollback方法的写法问题

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

rollback是不是需要写在catch里?
那样的话就是,
try
{
conn.rollback();
}
catch(SQLException e)
{
//处理异常
}
...全文
258 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
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();
      }
    }

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧