Erros estruturados em Rust: avaliando as compensações
Este artigo explora as vantagens e desvantagens de usar erros estruturados (por exemplo, com `thiserror`) versus `anyhow` em aplicações Rust. Com base na experiência de manutenção de um grande servidor web Rust, o autor argumenta que os tipos de erro personalizados, embora aumentem a quantidade de código e os custos de manutenção, oferecem benefícios significativos: mostrar claramente todos os modos de falha potenciais de uma função, melhorando a legibilidade e a revisão do código; criar interfaces mais descritivas; evitar mensagens de erro redundantes; reforçar a adição de contexto; e permitir dados e funcionalidades extras. No entanto, as desvantagens incluem aumento do volume de código, desafios de nomenclatura, sobrecarga de manutenção e potenciais problemas de desempenho. O autor conclui que a compensação deve ser avaliada caso a caso, sugerindo que em aplicações grandes, as vantagens dos erros estruturados podem superar os custos.