Turul limbajului Rust Cuprins

Să revizuim main-ul care poate eșua

Limbajul Rust are o mulțime de reprezentări ale erorilor, dar biblioteca standard are un trait universal std::error::Error pentru descrierea erorilor.

Utilizând pointerul inteligent Box, putem folosi tipul Box<dyn std::error::Error> pentru returnarea erorilor, deoarece ne permite să propagăm o eroare pe heap și să interacționăm cu ea la un nivel înalt, fără a cunoaște un tip anume.

Mai devreme în Turul limbajului Rust am învățat că funcția main poate returna o eroare. Acum putem returna un tip ce este capabil să descrie aproape orice fel de eroare pe care o putem întâlni într-un program atât timp cât structura de date a erorii implementează trait-ul Error.

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