0
如果事务期间发生异常,会发生什么情况? db.endTransaction()
会被调用,但是任何来自事务的查询都会执行?或者全部将被取消?如果事务查询引发异常,该怎么办?
try {
db.beginTransaction();
db.setTransactionSuccessful();
} catch (SQLException e) {
e.printStackTrace();
} finally {
db.endTransaction();
}
如果发生异常,您希望回滚事务。在这种情况下,所有的写入操作应该被回滚或取消。 – Thomas
这真的取决于这些命令做什么!假设db.setTransactionSuccessful()是执行提交的地方,并且只有在存储了数据之后,通常在catch块中应该有类似db.setTransactionFail()的东西,它会执行回滚。 – RLM