跳到內容 跳到搜尋

TransactionRollbackError 會在資料庫因序列化失敗或死結而回滾交易時引發。

這些例外狀況通常不應在巢狀交易區塊中救援,因為它們會在實際的封閉交易和內部 Active Record 狀態中產生副作用。不過,如果你在根交易區塊上方,則可以救援它們。

在這種情況下,請注意交易測試,因為它們會在自己的傘式交易中執行測試案例。如果你絕對需要在測試中處理這些例外狀況,請考慮停用受影響測試類別中的交易測試 (self.use_transactional_tests = false)。

由於上述副作用,使用者不應手動引發此例外狀況。

請參閱以下內容