跳至内容 跳至搜索

TransactionRollbackError 当数据库因序列化失败或死锁而回滚事务时将被引发。

这些异常通常不应在嵌套事务块中捕获,因为它们会对实际的包含事务和内部 Active Record 状态产生副作用。但如果它们发生在根事务块之外,则可以捕获。

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

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

请参阅以下内容