A Rust-ban írt kódok számtalan módon jelezhetnek hibákat, de az alapkönyvtár tartalmaz egy
univerzális traitet hibák leírására. Ez a std::error::Error
.
A Box
okos mutató segítségével lehetőségünk van létrehozni egy közös hibatípust, a
Box<dyn std::error::Error>
típust, amivel bármilyen hibaértéket a kupacmemóriára helyezhetünk
és képesek lehetünk magas szinten dolgozni vele, a konkrét típusa ismerete nélkül.
A Rust-túra során korábban már érintettük, hogy a main
függvény visszatérhet hibával. Most már
visszaadhatunk egy olyan hibatípust is, ami képes a programunkban előforduló majdnem összes hiba
reprezentálására, ha a hiba típusa megvalósítja a Rust közös Error
traitjét.
fn main() -> Result<(), Box<dyn std::error:Error>>