rust / beginner
Snippet
Fehlerbehandlung mit dem Result-Typ
Rust verwendet den Result-Typ für die Fehlerbehandlung ohne Ausnahmen. Result ist ein Enum mit zwei Varianten: Ok(T) für Erfolg, der einen Wert enthält, und Err(E) für Misserfolg, der eine Fehlermeldung enthält. Dieser Ansatz macht Fehler explizit und zwingt Sie, sie zu behandeln. Der Compiler warnt Sie, wenn Sie ein Result ignorieren, das fehlschlagen könnte.
snippet.rs
1
2
3
4
5
6
7
8
9
10
11
12
13
fn divide(a: f64, b: f64) -> Result<f64, String> {if b == 0.0 {return Err(String::from("Division by zero"));}Ok(a / b)}fn main() {match divide(10.0, 0.0) {Ok(result) => println!("Result: {}", result),Err(e) => println!("Error: {}", e),}}
Erklärung
1
Result<f64, String>
Rückgabetyp, der entweder Ok mit f64 oder Err mit String sein kann
2
return Err(String::from("Division by zero"));
Gibt eine Fehlervariante zurück, wenn durch Null geteilt wird
3
Ok(a / b)
Gibt das erfolgreiche Ergebnis in der Ok-Variante zurück
4
match divide(10.0, 0.0)
Musterabgleich zur Behandlung von Erfolgs- und Fehlerfällen