Перейти до вмісту
Помилки компілятора RustКритична
panic-unwrap

Panic — Викликано unwrap() для None або Err

Програма завершилась з панікою, оскільки unwrap() було викликано для значення None або Err.

rustcargo

Що спричиняє цю помилку

unwrap() викликається для Option зі значенням None або Result зі значенням Err. Це помилка часу виконання, яка аварійно завершує програму. Вона вказує на те, що код припускав наявність значення, але воно виявилося відсутнім.

Як виправити

Використайте match або if let для коректної обробки випадків None та Err. Використайте unwrap_or(), unwrap_or_default() або unwrap_or_else() для надання резервних значень. Використайте оператор ? для поширення помилок замість паніки.

Приклад

let x: Option<i32> = None;
x.unwrap(); // panics!
Офіційна документація

Пов'язані коди помилок