class Dry::Types::CoercionError


Base class for coercion errors raise by dry-types

def self.handle(exception, meta: Undefined)

Other tags:
    Api: - private
def self.handle(exception, meta: Undefined)
  if block_given?
    yield
  else
    raise new(
      exception.message,
      meta: meta,
      backtrace: exception.backtrace
    )
  end
end

def initialize(message, meta: Undefined, backtrace: Undefined)

Other tags:
    Api: - private
def initialize(message, meta: Undefined, backtrace: Undefined)
  unless message.is_a?(::String)
    raise ::ArgumentError, "message must be a string, #{message.class} given"
  end
  super(message)
  @meta = Undefined.default(meta, nil)
  set_backtrace(backtrace) unless Undefined.equal?(backtrace)
end