Exception: Stree::Error::ResponseError

Inherits:
StandardError
  • Object
show all
Defined in:
lib/stree/exceptions.rb

Overview

All responses with a code between 300 and 599 that contain an <Error></Error> body are wrapped in an ErrorResponse which contains an Error object. This Error class generates a custom exception with the name of the xml Error and its message. All such runtime generated exception classes descend from ResponseError and contain the ErrorResponse object so that all code that makes a request can rescue ResponseError and get access to the ErrorResponse.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(message, response) ⇒ ResponseError

Parameters:

message

what went wrong

response

Net::HTTPResponse object or nil



18
19
20
21
# File 'lib/stree/exceptions.rb', line 18

def initialize(message, response)
  @response = response
  super(message)
end

Instance Attribute Details

#responseObject (readonly)

Returns the value of attribute response.



13
14
15
# File 'lib/stree/exceptions.rb', line 13

def response
  @response
end

Class Method Details

.exception(code) ⇒ Object

Factory for all other Exception classes in module, each for every error response available from AmazonAWS

Parameters:

code

code name of exception

Returns:

Descendant of ResponseError suitable for that exception code or ResponseError class if no class found



32
33
34
35
36
# File 'lib/stree/exceptions.rb', line 32

def self.exception(code)
  Stree::Error.const_get(code)
rescue NameError
  ResponseError
end