panic-unwrapPanic — unwrap() auf None oder Err aufgerufen
Das Programm ist abgestürzt, weil unwrap() auf einen None- oder Err-Wert aufgerufen wurde.
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!Verwandte Fehlercodes
clippy::clone_on_copyClippy — Clone auf Copy-Typ
Die Methode clone() wird auf einem Typ aufgerufen, der Copy implementiert.
E0601E0601 — Funktion main nicht gefunden
Das binäre Crate besitzt keinen Einstiegspunkt in Form einer main-Funktion.
E0392E0392 — Ungenutzter Typ- oder Lifetime-Parameter
Ein generischer Typ- oder Lifetime-Parameter ist deklariert, wird aber im Struct oder Enum nicht verwendet.
E0433E0433 — Modulpfad konnte nicht aufgelöst werden
Der in einer use-Anweisung oder einem Typpfad verwendete Modulpfad kann nicht aufgelöst werden.
E0106E0106 — Fehlender Lifetime-Bezeichner
Einer Referenz in einer Funktionssignatur oder einem Struct fehlt ein Lifetime-Parameter.
E0499E0499 — Veränderliche Ausleihe mehr als einmal gleichzeitig nicht möglich
Ein Wert wird gleichzeitig mehrfach veränderlich ausgeliehen.