Documentation ¶
Overview ¶
Package errors provides common utilities for dealing with errors
Index ¶
- func AggregateConcurrent(funcs []func() error) error
- func Errorf(format string, args ...interface{}) error
- func Errors(err error) []error
- func New(message string) error
- func NewAggregate(errlist []error) error
- func NewWithoutStack(message string) error
- func StackTrace(err error) pkgerrors.StackTrace
- func UntilErrorConcurrent(funcs []func() error) error
- func WithStack(err error) error
- func Wrap(err error, message string) error
- func Wrapf(err error, format string, args ...interface{}) error
- type Aggregate
- type Causer
- type StackTracer
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func AggregateConcurrent ¶
AggregateConcurrent runs fns concurrently, returning a NewAggregate if there are > 1 errors
func Errorf ¶
Errorf formats according to a format specifier and returns the string as a value that satisfies error. Errorf also records the stack trace at the point it was called.
func New ¶
New returns an error with the supplied message. New also records the stack trace at the point it was called.
func NewAggregate ¶
NewAggregate is a k8s.io/apimachinery/pkg/util/errors.NewAggregate compatible wrapper note that while it returns a StackTrace wrapped Aggregate That has been Flattened and Reduced
func NewWithoutStack ¶
NewWithoutStack is like new but does NOT wrap with a stack This is useful for exported errors
func StackTrace ¶
func StackTrace(err error) pkgerrors.StackTrace
StackTrace returns the deepest StackTrace in a Cause chain https://github.com/pkg/errors/issues/173
func UntilErrorConcurrent ¶
UntilErrorConcurrent runs all funcs in separate goroutines, returning the first non-nil error returned from funcs, or nil if all funcs return nil
func WithStack ¶
WithStack annotates err with a stack trace at the point WithStack was called. If err is nil, WithStack returns nil.
Types ¶
type Aggregate ¶
Aggregate represents an object that contains multiple errors, but does not necessarily have singular semantic meaning. The aggregate can be used with `errors.Is()` to check for the occurrence of a specific error type. Errors.As() is not supported, because the caller presumably cares about a specific error of potentially multiple that match the given type.
NOTE: this type is originally from k8s.io/apimachinery/pkg/util/errors.Aggregate Since it is an interface, you can use the implementing types interchangeably
type Causer ¶
type Causer interface { // Cause returns the underlying error Cause() error }
Causer is an interface to github.com/pkg/errors error's Cause() wrapping
type StackTracer ¶
type StackTracer interface { // StackTrace returns the StackTrace ... // TODO: return our own type instead? // https://github.com/pkg/errors#roadmap StackTrace() pkgerrors.StackTrace }
StackTracer is an interface to github.com/pkg/errors error's StackTrace()