Rust · Intermediário · Inglês · Técnico
anyhow
Crate com um tipo de erro genérico, anyhow::Error, e um alias de Result que aceita qualquer erro. Permite acrescentar contexto às falhas com .context().
Onde usar
É usada em aplicações e ferramentas de linha de comando, onde o importante é propagar e mostrar o erro com contexto, não distingui-lo no código.
Em código
use anyhow::{Context, Result};
fn le() -> Result<String> {
let t = std::fs::read_to_string("a.txt")
.context("lendo a.txt")?;
Ok(t)
}Exemplos
Use anyhow in the binary, thiserror in the library.
Use anyhow no binário e thiserror na biblioteca.
Add context so the error says which file failed.
Adicione contexto para o erro dizer qual arquivo falhou.
Cuidado
Em bibliotecas públicas ela esconde o tipo do erro; prefira thiserror para dar aos chamadores erros que dá para tratar.
Antônimos
thiserror
Origem
Do inglês anyhow, 'de qualquer modo': aceita qualquer erro.