Hey.
I am looking at the error wrapping of 1.13-beta at the moment to figure out
best practices on error handling with this new capability.
My question now is:
If I want to propagate errors up some layers I don't know how to wrap
additional errors on the path up.
as an example:
var (
Layer1Error = errors.New("some error on layer 1")
Layer2Error = errors.New("some error on layer 2")
)
func main() {
err := callLayer1Function()
// do something with error
}
func callLayer1Function() error {
err := callLayer2Function()
// how to not lose layer2 error but also append a new layer1 error ?
// this does not work, since you fully lose layer1 error
// with pkg/err
return fmt.Errorf("some specific layer 2 error message: %w", Layer2Error)
}
func callLayer2Function() error {
// wrap an error of Layer1 here
return fmt.Errorf("some specific layer1 error message: %w", Layer1Error)
}
Any idea or best practices to propagate multiple errors up the stack?
--
You received this message because you are subscribed to the Google Groups
"golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/golang-nuts/0c09fd82-79ef-4a66-be0c-3401681af371%40googlegroups.com.