Exception: S3::Error::ResponseError

Inherits:
Exception
  • Object
show all
Defined in:
lib/s3/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

Returns a new instance of ResponseError.



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

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

Instance Attribute Details

#responseObject (readonly)

Returns the value of attribute response.



12
13
14
# File 'lib/s3/exceptions.rb', line 12

def response
  @response
end

Class Method Details

.exception(code) ⇒ Object



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

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