Exception: Poodle::Error

Inherits:
StandardError
  • Object
show all
Defined in:
lib/poodle/errors/base_error.rb

Overview

Base exception class for all Poodle SDK errors

Examples:

Catching all Poodle errors

begin
  client.send_email(email)
rescue Poodle::Error => e
  puts "Poodle error: #{e.message}"
  puts "Context: #{e.context}"
end

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(message = "", context: {}, status_code: nil) ⇒ Error

Initialize a new error



25
26
27
28
29
30
# File 'lib/poodle/errors/base_error.rb', line 25

def initialize(message = "", context: {}, status_code: nil)
  @original_message = message
  super(message)
  @context = context
  @status_code = status_code
end

Instance Attribute Details

#contextHash (readonly)



15
16
17
# File 'lib/poodle/errors/base_error.rb', line 15

def context
  @context
end

#status_codeInteger? (readonly)



18
19
20
# File 'lib/poodle/errors/base_error.rb', line 18

def status_code
  @status_code
end

Instance Method Details

#messageString

Get the original error message without formatting



35
36
37
# File 'lib/poodle/errors/base_error.rb', line 35

def message
  @original_message
end

#to_sString

Get a string representation of the error with context



42
43
44
45
46
47
# File 'lib/poodle/errors/base_error.rb', line 42

def to_s
  result = @original_message
  result += " (Status: #{@status_code})" if @status_code
  result += " Context: #{@context}" unless @context.empty?
  result
end