Что такое sentinel value?

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

Предопределённая ошибка на уровне пакета, например io.EOF или sql.ErrNoRows. Создаётся через var ErrNotFound = errors.New("not found"). Проверяется через errors.Is(err, ErrNotFound). Полезна когда вызывающий код должен различать типы ошибок и реагировать по-разному. Не стоит создавать sentinel для каждой ошибки — только для тех, на которые caller реагирует.

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

Что такое Visitor pattern?