Что такое multierr?

Middle
190 просмотров
AFK Offer AI

multierr (uber-go/multierr) — библиотека для агрегации нескольких ошибок в одну. multierr.Append(err1, err2) объединяет ошибки. multierr.Combine(errs...) — из слайса. Результат реализует Unwrap() []error, совместим с errors.Is и errors.As. Полезно при batch операциях: обработал 10 задач, 3 упали — возвращаешь одну ошибку с тремя внутри. С Go 1.20+ есть встроенный errors.Join(errs...) — делает то же самое. Для нового кода можно обойтись без внешней зависимости.

Следующий вопрос

В каком порядке выполняются init в разных пакетах?