为啥代码里不需要catch SQL异常?
Topic sourceConnection conn = openConnection();
try {
// 关闭自动提交:
conn.setAutoCommit(false);
// 执行多条SQL语句:
insert(); update(); delete();
// 提交事务:
conn.commit();
} catch (SQLException e) {
// 回滚事务:
conn.rollback();
} finally {
conn.setAutoCommit(true);
conn.close();
}
之前的想法错了,catch
SQLException
是非正常情况,
conn.commit();
的时候出了问题
好像也不对啊,commit 都出问题了 肯定不会提交啊 数据也不会变,照理来说,也就不用rollback啊
越想越觉得有问题,再去查下资料
- 1
asdas2333
不是在抛出SQL异常后必须捕获并调用
conn.rollback()
回滚事务吗?为什么代码了完全没有捕获?