Как работать с errors пакетом?

Junior
868 просмотров
AFK Offer AI

Пакет errors — основа обработки ошибок в Go. errors.New("msg") создаёт простую ошибку. errors.Is(err, target) проверяет, есть ли target в цепочке обёрнутых ошибок. errors.As(err, &target) извлекает ошибку конкретного типа. fmt.Errorf("context: %w", err) оборачивает ошибку, сохраняя оригинал. Это позволяет строить цепочки: "save user: query db: connection refused" — и при этом проверять конкретный тип ошибки через Is/As. Без %w (используя %v) оригинальная ошибка теряется.

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

Как обеспечить идемпотентность API?