ExpertiDict

Go · Avançado · Inglês · Técnico

errors.As

/ˈɛɹ.ɚz æz/função

Função que procura na cadeia de erros um que seja de um tipo específico e o copia para uma variável alvo, dando acesso aos campos e métodos desse tipo.

Onde usar

Usada quando é preciso extrair detalhes do erro, como o caminho de um *fs.PathError ou o código de um erro próprio da API. O segundo argumento deve ser ponteiro para o tipo procurado.

Em código

var pe *fs.PathError
if errors.As(err, &pe) {
  fmt.Println("caminho:", pe.Path)
}

Exemplos

Use errors.As to get the path out of the PathError.

Use errors.As para tirar o caminho do PathError.

The second argument to errors.As must be a pointer.

O segundo argumento de errors.As precisa ser um ponteiro.

Cuidado

Passar um alvo que não é ponteiro faz errors.As dar panic; o go vet detecta esse erro.

Antônimos

errors.Is

Veja também

Todos os termos de Go