ExpertiDict

Rust · Intermediário · Inglês · Técnico

Error

/ˈɛɹɚ/substantivo

Trait da biblioteca padrão que marca um tipo como erro. Exige Debug e Display e permite encadear a causa, o que habilita Box<dyn Error>.

Onde usar

Aparece em Result<T, Box<dyn Error>> e ao escrever tipos de erro próprios. Bibliotecas implementam Error para que os chamadores combinem erros de origens diferentes.

Em código

use std::error::Error;
fn le() -> Result<u8, Box<dyn Error>> {
  let n: u8 = "300".parse()?;
  Ok(n)
}
if let Err(e) = le() {
  println!("erro: {e}");
}

Exemplos

Our error type implements the Error trait.

Nosso tipo de erro implementa o trait Error.

Return Box<dyn Error> from main.

Devolva Box<dyn Error> a partir do main.

Cuidado

Não confunda o trait Error com a variante Err do Result: um é o contrato, o outro é o caso de falha.

Sinônimos

std::error::Error

Veja também

Todos os termos de Rust