4 ms·
in standard go you'd have errors implement: func (myError) Is(err error) bool and it can match different sentinel errors. Or you can make your own wrapper
by arccy 1y ago
in standard go you'd have errors implement:
func (myError) Is(err error) bool
and it can match different sentinel errors.
Or you can make your own wrapper to have the error chain match.
- zarldev 1y agoIn standard go you would not implement Is but would use the errors.Is call. How would this work if it is a sentinel error as you would use with errors.Is??
- arccy 1y agohttps://pkg.go.dev/errors#Is https://pkg.go.dev/errors#Is > An error is considered to match a target if it is equal to that target or if it implements a method Is(error) bool such that Is(target) returns true. by default errors.Is matches the exact error variable, but you can use it to match other errors as well.
- zarldev 1y agoI stand corrected. Still you cannot implement an Is on a sentinel error and is only applicable to concrete error types. And if I'm using concrete types I'm going to us errors.As