如果 java.sql.Connection#commit() 引发异常,是否需要回滚?
2022-09-02 20:51:24
根据JAVA文档,可以抛出.我的问题是,在这种情况下是否仍应发出回滚。Connection#commit()
SQLException
例如:
Connection con = null;
try {
// assume this method returns an opened connection with setAutoCommit(false)
con = createConnection();
// do DB stuff
con.commit();
} catch (SQLException e) {
if (con != null) {
// what if con.commit() failed, is this still necessary,
// will it hurt anything?
con.rollback();
}
} finally {
if (con != null) {
con.close();
}
}
我实际上将con.rollback()调用包装到另一个方法中,该方法忽略了它引发的任何异常,所以我认为我在这里没问题。我只是想知道这是否是处理事情的最佳方式。