Skip to content

Instantly share code, notes, and snippets.

@kenzo0107
Created March 30, 2020 17:20
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save kenzo0107/f886b4d8e273e4337c9a38eecb5ffff4 to your computer and use it in GitHub Desktop.
Save kenzo0107/f886b4d8e273e4337c9a38eecb5ffff4 to your computer and use it in GitHub Desktop.
package main
import (
"errors"
"fmt"
"go.uber.org/multierr"
)
func step1() error {
return errors.New("step1")
}
func step2() error {
return errors.New("step2")
}
func main() {
rerr := rerr()
for _, err := range multierr.Errors(rerr) {
fmt.Println("err", err)
}
}
func rerr() error {
var rerr error
if err := step1(); err != nil {
rerr = multierr.Append(rerr, err)
}
if err := step2(); err != nil {
rerr = multierr.Append(rerr, err)
}
return rerr
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment