@
Size: a a a
ВС
ВС
DP
class CommonError(Exception):
pass
class ServerError(CommonError):
pass
class BadDataError(CommonError):
pass
if isinstance(e, CommonError):
do_something()
DP
ВС
АП
DP
DP
ВС
if x, ok := err.(interface{ As(interface{}) bool }); ok && x.As(target) {
return true
}
ВС
ЕО
ЕО
@
package myerrors
var CommonError = fmt.Error("mylibrary error")
var ServerError = fmt.Errorf("server returns something what we don't want %w", CommonError)
package mylib
func Ololo() error {
return fmt.Errorf("ololo %w", myerrors.ServerError)
}
err := mylib.Ololo()
проверить на то что err содержит в себе CommonError?ВС
ВС
your message: %w
(двоеточие, пробел и %w)DP
DP
%w
, и он должен быть последний. и это тот самый поярный лис