ExpertiDict

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

anyhow

/ˈɛniˌhaʊ/substantivo

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.

Veja também

Todos os termos de Rust