Documentation ¶
Index ¶
- func As(err error, target any) bool
- func Assignable(err error, targets ...error) bool
- func Comparable(err error, targets ...error) bool
- func New(msg string) error
- func Newf(msgf string, args ...interface{}) error
- func Unwrap(err error) error
- func Value(err error, key any) any
- func WithValue(err error, key any, value any) error
- func Wrap(err error, msg string) error
- func Wrapf(err error, msgf string, args ...interface{}) error
- type Callers
- type OnceError
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func As ¶
As finds the first error in err's tree that matches target, and if one is found, sets target to that error value and returns true. Otherwise, it returns false.
The tree consists of err itself, followed by the errors obtained by repeatedly calling Unwrap. When err wraps multiple errors, As examines err followed by a depth-first traversal of its children.
An error matches target if the error's concrete value is assignable to the value pointed to by target, or if the error has a method As(interface{}) bool such that As(target) returns true. In the latter case, the As method is responsible for setting target.
An error type might provide an As method so it can be treated as if it were a different error type.
As panics if target is not a non-nil pointer to either a type that implements error, or to any interface type.
func Assignable ¶ added in v2.2.0
Assignable is functionally equivalent to calling errors.As() on multiple errors, except that it only checks assignability as opposed to setting the target.
func Comparable ¶ added in v2.2.0
Comparable is functionally equivalent to calling errors.Is() on multiple errors (up to a max of 64).
func Unwrap ¶
Unwrap returns the result of calling the Unwrap method on err, if err's type contains an Unwrap method returning error. Otherwise, Unwrap returns nil.
func WithValue ¶ added in v2.1.0
WithValue wraps err to store given key-value pair, accessible via Value() function.
Types ¶
type Callers ¶
type Callers []uintptr
Callers is a stacktrace of caller PCs.
func GetCallers ¶
GetCallers returns a Callers slice of PCs, of at most 'depth'.
func Stacktrace ¶
Stacktrace fetches first stored stacktrace of callers from error chain.
func (Callers) MarshalJSON ¶
MarshalJSON implements json.Marshaler to provide an easy, simple default.
type OnceError ¶
type OnceError struct {
// contains filtered or unexported fields
}
OnceError is an error structure that supports safe multi threaded usage and setting only once (until reset).