Class: AWS::S3::Error
- Inherits:
-
Object
- Object
- AWS::S3::Error
- Defined in:
- lib/aws/s3/error.rb,
lib/aws/s3/response.rb
Overview
Requests whose response code is between 300 and 599 and contain an <Error></Error> in their body are wrapped in an Error::Response. This Error::Response contains an Error object which raises an exception that corresponds to the error in the response body. The exception object contains the ErrorResponse, so in all cases where a request happens, you can rescue ResponseError and have access to the ErrorResponse and its Error object which contains information about the ResponseError.
begin
Bucket.create(..)
rescue ResponseError => exception
exception.response
# => <Error::Response>
exception.response.error
# => <Error>
end
Defined Under Namespace
Classes: Response
Instance Attribute Summary collapse
-
#response ⇒ Object
:stopdoc:.
Instance Method Summary collapse
-
#initialize(error, response = nil) ⇒ Error
constructor
A new instance of Error.
- #raise ⇒ Object
Constructor Details
Dynamic Method Handling
This class handles dynamic methods through the method_missing method
#method_missing(method, *args, &block) ⇒ Object (private)
58 59 60 61 62 63 64 65 |
# File 'lib/aws/s3/error.rb', line 58 def method_missing(method, *args, &block) # We actually want nil if the attribute is nil. So we use has_key? rather than [] + ||. if error.has_key?(method.to_s) error[method.to_s] else super end end |
Instance Attribute Details
#response ⇒ Object
:stopdoc:
29 30 31 |
# File 'lib/aws/s3/error.rb', line 29 def response @response end |
Instance Method Details
#raise ⇒ Object
37 38 39 |
# File 'lib/aws/s3/error.rb', line 37 def raise Kernel.raise exception.new(, response) end |