go.uber.org/multierr (go): Package multierr allows combining one or more errors together.  Errors can be combined with the use of the Combine function.  If only two errors are being combined, the Append function may be used instead.  The underlying list of errors for a returned error object may be retrieved with the Errors function.  You sometimes need to append into an error from a loop.  Cases like this may require knowledge of whether an individual instance failed. This usually requires introduction of a new variable.  multierr includes AppendInto to simplify cases like this.  This will append the error into the err variable, and return true if that individual error was non-nil.  See AppendInto for more information.  Go makes it possible to modify the return value of a function in a defer block if the function was using named returns. This makes it possible to record resource cleanup failures from deferred blocks.  multierr provides the Invoker type and AppendInvoke function to make cases like the above simpler and obviate the need for a closure. The following is roughly equivalent to the example above.  See AppendInvoke and Invoker for more information.  NOTE: If you're modifying an error from inside a defer, you MUST use a named return value for that function.  Errors returned by Combine and Append MAY implement the following interface.  Note that if you need access to list of errors behind a multierr error, you should prefer using the Errors function. That said, if you need cheap read-only access to the underlying errors slice, you can attempt to cast the error to this interface. You MUST handle the failure case gracefully because errors returned by Combine and Append are not guaranteed to implement this interface.
Keywords: errors|go|golang