Go · Intermediário · Português · Técnico
erro sentinela
Erro predefinido em variável de pacote, como io.EOF ou sql.ErrNoRows, criado com errors.New e comparado pelos chamadores para identificar uma situação específica.
Onde usar
Permite ao chamador reagir a casos esperados, como fim de arquivo ou registro inexistente, sem inspecionar texto. Por convenção, o nome começa com Err.
Em código
var ErrSaldo = errors.New("sem saldo")
func Sacar(s, v int) (int, error) {
if v > s { return s, ErrSaldo }
return s - v, nil
}Exemplos
O repositório devolve ErrNaoEncontrado, um erro sentinela do pacote.
Use errors.Is para comparar com o erro sentinela, mesmo embrulhado.
Cuidado
Cada sentinela exportada vira parte da API pública e prende os chamadores; compare sempre com errors.Is, não com ==.
Sinônimos
sentinel error