package errwrap
Import Path
github.com/hashicorp/errwrap (on go.dev)
Dependency Relation
imports 3 packages, and imported by one package
Involved Source Files
Package errwrap implements methods to formalize error wrapping in Go.
All of the top-level functions that take an `error` are built to be able
to take any error, not just wrapped errors. This allows you to use errwrap
without having to type-check and type-cast everywhere.
Package-Level Type Names (total 3, in which 2 are exported)
Wrapper is an interface that can be implemented by custom types to
have all the Contains, Get, etc. functions in errwrap work.
When Walk reaches a Wrapper, it will call the callback for every
wrapped error in addition to the wrapper itself. Since all the top-level
functions in errwrap use Walk, this means that all those functions work
with your custom type.
( T) WrappedErrors() []error
*github.com/hashicorp/go-multierror.Error
*wrappedError
Package-Level Functions (total 9, all are exported)
Contains checks if the given error contains an error with the
message msg. If err is not a wrapped error, this will always return
false unless the error itself happens to match this msg.
ContainsType checks if the given error contains an error with
the same concrete type as v. If err is not a wrapped error, this will
check the err itself.
Get is the same as GetAll but returns the deepest matching error.
GetAll gets all the errors that might be wrapped in err with the
given message. The order of the errors is such that the outermost
matching error (the most recent wrap) is index zero, and so on.
GetAllType gets all the errors that are the same type as v.
The order of the return value is the same as described in GetAll.
GetType is the same as GetAllType but returns the deepest matching error.
Walk walks all the wrapped errors in err and calls the callback. If
err isn't a wrapped error, this will be called once for err. If err
is a wrapped error, the callback will be called for both the wrapper
that implements error as well as the wrapped error itself.
Wrap defines that outer wraps inner, returning an error type that
can be cleanly used with the other methods in this package, such as
Contains, GetAll, etc.
This function won't modify the error message at all (the outer message
will be used).
Wrapf wraps an error with a formatting message. This is similar to using
`fmt.Errorf` to wrap an error. If you're using `fmt.Errorf` to wrap
errors, you should replace it with this.
format is the format of the error message. The string '{{err}}' will
be replaced with the original error message.
![]() |
The pages are generated with Golds v0.3.2-preview. (GOOS=darwin GOARCH=amd64) Golds is a Go 101 project developed by Tapir Liu. PR and bug reports are welcome and can be submitted to the issue list. Please follow @Go100and1 (reachable from the left QR code) to get the latest news of Golds. |