Rust · Intermediário · Inglês · Técnico
thiserror
Crate que gera, com um derive, a implementação de Display e Error para enums de erro de bibliotecas. Reduz o código repetitivo e mantém os tipos de erro precisos.
Onde usar
É usada em bibliotecas, onde os chamadores precisam distinguir os erros. Em aplicações, costuma ser combinada com anyhow.
Em código
use thiserror::Error;
#[derive(Debug, Error)]
enum ErroApp {
#[error("ausente: {0}")]
Ausente(String),
#[error("inválido")]
Invalido,
}Exemplos
We use thiserror for the library's error enum.
Usamos thiserror para o enum de erros da biblioteca.
thiserror writes the Display impl for you.
O thiserror escreve o impl de Display para você.
Cuidado
Não serve para quem só quer propagar qualquer erro sem tipá-lo; nesse caso o anyhow é mais prático.
Antônimos
anyhow
Origem
Do inglês 'this error', 'este erro', nome que lembra a mensagem de cada variante.