Um tour por Rust Índice

Revisitando o main falível

O código Rust pode ter uma infinidade de representações dos erros, mas a biblioteca padrão tem uma trait universal std::error::Error para descrever os erros.

Usando um ponteiro inteligente Box podemos usar o tipo Box<dyn std::error::Error> como um tipo comum para retornar os erros, porque nos permite propagar um erro na heap e interagir com ele em alto nível sem precisar conhecer um tipo específico.

No início do Tour por Rust, aprendemos que main pode retornar um erro. Agora podemos retornar um tipo capaz de descrever quase qualquer tipo de erro que possa ocorrer em nosso programa, desde que a estrutura de dados do erro implemente a trait usual Error do Rust.

fn main() -> Result<(), Box<dyn std::error:Error>>