Что такое sentinel error?

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

Sentinel error — это заранее объявленная ошибка-константа, которую ты сравниваешь по значению. Например, var ErrNotFound = errors.New("not found"). Пакет проверяет ошибку через errors.Is(err, ErrNotFound). Это простой паттерн для стандартных, ожидаемых ошибок. Sentinel errors экспортируются из пакета и являются частью его API. Главный минус — они не несут контекста, поэтому часто их комбинируют с wrapping: fmt.Errorf("user %d: %w", id, ErrNotFound).

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

Как спроектировать чат систему?