Please enable JavaScript.
Coggle requires JavaScript to display documents.
Gestione degli errori - Coggle Diagram
Gestione degli errori
Result<T,E>
Modella l'unione di tutti i possibili risultati con successo T e tutti gli errori che possono verificarsi
is_ok(self), is_err(&self). ok(self) err(self) consumano il risultato trasformandolo in un oggetto di tipo Option<T> piuttosto che Option<E>
macro Panic accetta argomenti simili a quelli offerti dalla macro println!(...) per formulare un messaggio di errore.
-
Rust offre l'operatore ? che se il risultato è Ok(v) restituisce v altrimenti se Err(e) la funzione corrente termina e ritorna il valore che incapsula l'errore
-
Propagare errori
-
Si possono implementare degli errori custom che devono implementare il tratto Error e conseguentemente anche i tratti Debug e Display
-
-
crate anyhow definisce l'oggetto-tratto anyhow::Error che semplifica la gestione idiomatica degli errori. Si può utilizzare il tipo anyhow::Result<T> per incapsulare il valore di ritorno di una funzione che può fallire.
questo crate intereopera correttamente con thiserror e risulta adatto nella scrittura di codice applicativo.
quando viene generato un errore è possibile aggiungere una descrizione che contestualizza ciò che è successo tramite i metodi context(...) e with_context(...)
-
Option<T>
Some<T> risultato atteso. None, assenza di risultato
-