Что такое error wrapping?

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

Error wrapping — это оборачивание ошибки в другую ошибку с добавлением контекста. В Go для этого используешь fmt.Errorf с глаголом %w: return fmt.Errorf("failed to save user: %w", err). Обёрнутую ошибку потом можно развернуть через errors.Unwrap или проверить через errors.Is/errors.As. Это создаёт цепочку ошибок с полным контекстом: на верхнем уровне ты видишь "failed to save user: connection refused" и понимаешь, где и что сломалось.

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

Как мониторить Go приложение?