gcerr

package
v0.36.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 28, 2023 License: Apache-2.0 Imports: 10 Imported by: 0

Documentation

Overview

Package gcerr provides an error type for Go CDK APIs.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func DoNotWrap

func DoNotWrap(err error) bool

DoNotWrap reports whether an error should not be wrapped in the Error type from this package. It returns true if err is a retry error, a context error, io.EOF, or if it wraps one of those.

func ErrorAs

func ErrorAs(err error, target interface{}, errorAs func(error, interface{}) bool) bool

ErrorAs is a helper for the ErrorAs method of an API's portable type. It performs some initial nil checks, and does a single level of unwrapping when err is a *gcerr.Error. Then it calls its errorAs argument, which should be a driver implementation of ErrorAs.

Types

type Error

type Error struct {
	// Code is the error code.
	Code ErrorCode
	// contains filtered or unexported fields
}

An Error describes a Go CDK error.

func New

func New(c ErrorCode, err error, callDepth int, msg string) *Error

New returns a new error with the given code, underlying error and message. Pass 1 for the call depth if New is called from the function raising the error; pass 2 if it is called from a helper function that was invoked by the original function; and so on.

func Newf

func Newf(c ErrorCode, err error, format string, args ...interface{}) *Error

Newf uses format and args to format a message, then calls New.

func (*Error) Error

func (e *Error) Error() string

Error returns the error as a string.

func (*Error) Format

func (e *Error) Format(s fmt.State, c rune)

Format formats the error.

func (*Error) FormatError

func (e *Error) FormatError(p xerrors.Printer) (next error)

FormatError formats the errots.

func (*Error) Unwrap

func (e *Error) Unwrap() error

Unwrap returns the error underlying the receiver, which may be nil.

type ErrorCode

type ErrorCode int

An ErrorCode describes the error's category.

const (
	// OK is returned by the Code function on a nil error. It is not a valid
	// code for an error.
	OK ErrorCode = 0

	// Unknown means that the error could not be categorized.
	Unknown ErrorCode = 1

	// NotFound means that the resource was not found.
	NotFound ErrorCode = 2

	// AlreadyExists means that the resource exists, but it should not.
	AlreadyExists ErrorCode = 3

	// InvalidArguments means that a value given to a Go CDK API is incorrect.
	InvalidArgument ErrorCode = 4

	// Internal means that something unexpected happened. Internal errors always indicate
	// bugs in the Go CDK (or possibly the underlying service).
	Internal ErrorCode = 5

	// Unimplemented means that the feature is not implemented.
	Unimplemented ErrorCode = 6

	// FailedPrecondition means that the system was in the wrong state.
	FailedPrecondition ErrorCode = 7

	// PermissionDenied means that the caller does not have permission to execute the specified operation.
	PermissionDenied ErrorCode = 8

	// ResourceExhausted means that some resource has been exhausted, typically because a service resource limit
	// has been reached.
	ResourceExhausted ErrorCode = 9

	// Canceled means that the operation was canceled.
	Canceled ErrorCode = 10

	// DeadlineExceeded means that The operation timed out.
	DeadlineExceeded ErrorCode = 11
)

func GRPCCode

func GRPCCode(err error) ErrorCode

GRPCCode extracts the gRPC status code and converts it into an ErrorCode. It returns Unknown if the error isn't from gRPC.

func (ErrorCode) String

func (i ErrorCode) String() string

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL