• Задача
  • Решение
  • Обсуждение

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
}

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

00:00:00
Наш сайт собирает куки. Чтобы тебе было удобнее им пользоваться. Нажимая на кнопку, ты даёшь разрешение собирать куки