class Google::Cloud::Error
Base google-cloud exception class.
#
def self.from_error error
- Private: - Create a new error object from a client error
def self.from_error error klass = if error.respond_to? :code grpc_error_class_for error.code elsif error.respond_to? :status_code gapi_error_class_for error.status_code else self end klass.new error.message end
def self.gapi_error_class_for http_status_code
- Private: - Identify the subclass for a Google API Client error
def self.gapi_error_class_for http_status_code # The http status codes mapped to their error classes. { 400 => InvalidArgumentError, # FailedPreconditionError/OutOfRangeError 401 => UnauthenticatedError, 403 => PermissionDeniedError, 404 => NotFoundError, 409 => AlreadyExistsError, # AbortedError 412 => FailedPreconditionError, 429 => ResourceExhaustedError, 499 => CanceledError, 500 => InternalError, # UnknownError/DataLossError 501 => UnimplementedError, 503 => UnavailableError, 504 => DeadlineExceededError }[http_status_code] || self end
def self.grpc_error_class_for grpc_error_code
- Private: - Identify the subclass for a gRPC error
def self.grpc_error_class_for grpc_error_code # The gRPC status code 0 is for a successful response. # So there is no error subclass for a 0 status code, use current class. [ self, CanceledError, UnknownError, InvalidArgumentError, DeadlineExceededError, NotFoundError, AlreadyExistsError, PermissionDeniedError, ResourceExhaustedError, FailedPreconditionError, AbortedError, OutOfRangeError, UnimplementedError, InternalError, UnavailableError, DataLossError, UnauthenticatedError ][grpc_error_code] || self end
def body
-
(Object, nil)
-
def body return nil unless cause && cause.respond_to?(:body) cause.body end
def code
-
(Object, nil)
-
def code return nil unless cause && cause.respond_to?(:code) cause.code end
def details
-
(Object, nil)
-
def details return nil unless cause && cause.respond_to?(:details) cause.details end
def header
-
(Object, nil)
-
def header return nil unless cause && cause.respond_to?(:header) cause.header end
def initialize msg = nil
Construct a new Google::Cloud::Error object, optionally passing in a
#
def initialize msg = nil super @cause = $ERROR_INFO end
def metadata
-
(Object, nil)
-
def metadata return nil unless cause && cause.respond_to?(:metadata) cause.metadata end
def status_code
-
(Object, nil)
-
def status_code return nil unless cause && cause.respond_to?(:status_code) cause.status_code end
def status_details
-
(Object, nil)
-
def status_details return nil unless cause && cause.respond_to?(:status_details) cause.status_details end