When combining 2 errors
err = multierr.Append(reader.Close(), writer.Close()) When combining multiple errors
multierr.Combine(
reader.Close(),
writer.Close(),
conn.Close(),
)From deferred scopes
func sendRequest(req Request) (err error) {
conn, err := openConnection()
if err != nil {
return err
}
defer func() {
err = multierr.Append(err, conn.Close())
}()
// ...
}Warning
If you’re modifying an error from inside a defer, you MUST use a named return value for that function.