Exception: BetterService::Errors::Runtime::TransactionError

Inherits:
RuntimeError show all
Defined in:
lib/better_service/errors/runtime/transaction_error.rb

Overview

Raised when a database transaction fails

This error is raised when ActiveRecord transaction operations fail, such as deadlocks, serialization errors, or constraint violations.

Examples:

Transaction failure

class MyService < BetterService::Services::Base
  config do
    use_transaction true
  end

  schema { }

  process_with do |data|
    # Database operation that causes deadlock
    User.transaction do
      user.lock!
      other_user.lock!  # Deadlock!
    end
  end
end

MyService.new(user, params: {}).call
# => raises TransactionError

Instance Attribute Summary

Attributes inherited from BetterServiceError

#code, #context, #original_error, #timestamp

Method Summary

Methods inherited from BetterServiceError

#backtrace, #detailed_message, #initialize, #inspect, #to_h

Constructor Details

This class inherits a constructor from BetterService::BetterServiceError