Zum Inhalt springen
Rust-Compiler-FehlerFatal
panic-unwrap

Panic — unwrap() auf None oder Err aufgerufen

Das Programm ist abgestürzt, weil unwrap() auf einen None- oder Err-Wert aufgerufen wurde.

rustcargo

Was verursacht diesen Fehler

unwrap() wird auf eine Option aufgerufen, die None ist, oder auf ein Result, das Err ist. Dies ist ein Laufzeitfehler, der das Programm abstürzen lässt. Er zeigt an, dass der Code davon ausging, dass immer ein Wert vorhanden ist, was nicht der Fall war.

So beheben Sie ihn

Verwende match oder if let, um None- und Err-Fälle korrekt zu behandeln. Verwende unwrap_or(), unwrap_or_default() oder unwrap_or_else(), um Fallback-Werte bereitzustellen. Verwende den Operator ?, um Fehler weiterzuleiten statt einen Panic auszulösen.

Beispiel

let x: Option<i32> = None;
x.unwrap(); // panics!
Offizielle Dokumentation

Verwandte Fehlercodes