ExpertiDict

Go · Intermediário · Português · Técnico

erro customizado

/ˈe.ʁu kus.to.miˈza.du/substantivo

Tipo próprio que implementa a interface error com o método Error() string, podendo carregar campos extras como código, campo inválido ou causa.

Onde usar

Usado quando o chamador precisa de mais que um texto, por exemplo o status HTTP a devolver. Quem recebe usa errors.As para acessar os campos.

Em código

type ErroValidacao struct{ Campo string }

func (e *ErroValidacao) Error() string {
  return "campo inválido: " + e.Campo
}

// return &ErroValidacao{Campo: "email"}

Exemplos

Criei um erro customizado com o campo que falhou na validação.

O handler usa errors.As para pegar o erro customizado e escolher o status.

Cuidado

Ao retornar um *MeuErro nil como error, o resultado não é nil por causa do typed nil; devolva o nil literal.

Sinônimos

tipo de erro próprio

Veja também

Todos os termos de Go