package multierr
import "go.uber.org/multierr"
Package multierr allows combining one or more errors together.
Index ¶
Functions ¶
func Append ¶
Append appends the given errors together. Either value may be nil.
This function is a specialization of Combine for the common case where there are only two errors.
err = multierr.Append(reader.Close(), writer.Close())
This may be used to record failure of deferred operations without losing information about the original error.
func doSomething(..) (err error) { f := acquireResource() defer func() { err = multierr.Append(err, f.Close()) }()
func Combine ¶
Combine combines the passed errors into a single error.
If zero arguments were passed or if all items are nil, a nil error is returned.
Combine(nil, nil) // == nil
If only a single error was passed, it is returned as-is.
Combine(err) // == err
Combine skips over nil arguments so this function may be used to combine together errors from operations that fail independently of each other.
multierr.Combine( reader.Close(), writer.Close(), pipe.Close(), )
If any of the passed errors is a multierr error, it will be flattened along with the other errors.
multierr.Combine(multierr.Combine(err1, err2), err3) // is the same as multierr.Combine(err1, err2, err3)
The returned error formats into a readable multi-line error message if formatted with %+v.
fmt.Sprintf("%+v", multierr.Combine(err1, err2))
Source Files ¶
error.go
- Version
- v1.0.0
- Published
- May 31, 2017
- Platform
- js/wasm
- Imports
- 6 packages
- Last checked
- now –
Tools for package owners.