跳至内容 跳至搜索

TransactionRollbackError 当数据库由于序列化失败或死锁回滚事务时,将引发此异常。

这些异常一般不应该在嵌套事务块中被捕获,因为它们对实际的封闭事务和内部 Active Record 状态有副作用。但是,如果在根事务块之外,可以捕获这些异常。

在这种情况下,请注意事务性测试,因为它们在自己的保护事务中运行测试用例。如果您绝对需要在测试中处理这些异常,请考虑禁用受影响测试类中的事务性测试(self.use_transactional_tests = false)。

由于上述副作用,此异常不应该由用户手动引发。

查看以下内容