Go · Intermediário · Português · Técnico
erro customizado
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