Rust · Intermediário · Inglês · Técnico
Error
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