WrapError: кастомный Unwrap
Цепочку строит не только %w — любой тип с методом Unwrap() error участвует в ней. Реализуйте Error() (текст msg + ": " + cause) и Unwrap() (вернуть cause) для wrapError.
Показать решение
GolangРешение
func (w wrapError) Error() string {
return w.msg + ": " + w.cause.Error()
}
func (w wrapError) Unwrap() error {
return w.cause
}Записаться на разбор
10 000 ₽ · 60 минут · онлайн