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

Panic — Індекс виходить за межі

Програма завершилась з панікою, оскільки індекс вийшов за допустимий діапазон для колекції.

rustcargo

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

Ви звертаєтеся до масиву, вектора або зрізу з індексом, що більший або дорівнює його довжині. Індекс перевіряється під час виконання, і звернення за межами діапазону спричиняє паніку.

Як виправити

Перевіряйте довжину перед індексуванням. Використайте .get(index), який повертає Option замість паніки. Переконайтеся, що межі циклу відповідають довжині колекції. Використайте ітератори замість ручного індексування.

Приклад

let v = vec![1, 2];
v[5]; // panics!
Офіційна документація

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