Зміст курсу
Основи Java
Основи Java
Index Out Of Bounds
Що таке помилка Index Out Of Bounds?
Виключення "Index Out Of Bounds" (IOB) виникає у Java, коли ви намагаєтесь отримати доступ до елементу масиву або змінити його, використовуючи індекс, який знаходиться за межами допустимого діапазону індексів для цього масиву. У Java масиви мають нульову індексацію, що означає, що перший елемент має індекс 0
, другий елемент має індекс 1
і так далі.
При спробі отримати доступ до елемента з індексом, меншим за 0 або більшим чи рівним довжині масиву, генерується виключення(помилка) "Index Out of Bounds". Це виключення слугує способом для програми на Java вказати, що ви намагаєтесь виконати неприпустиму операцію над масивом.
Зауважте
У Java існує велика кількість винятків. Ми розглянемо ієрархію винятків, навчимося створювати власні винятки та правильно їх обробляти в окремому курсі.
Розглянемо приклад, який згенерує виключення Index Out of Bounds
:
Main
package com.example; public class Main { public static void main(String[] args) { int[] array = {1, 2, 3, 4, 5}; int element = array[5]; // this line will cause an "Index out of bounds exception" } }
Щоб усунути виняток "Index Out Of Bounds", ти можеш виконати такі дії:
- Переконайся, що індекс, який ти використовуєш для доступу до масиву потрапляє в допустимий діапазон індексів;
- Переконайся, що масив не є порожнім, перш ніж намагатися отримати доступ до будь-яких елементів; Перевір логіку твоєї програми, щоб підтвердити точність обчислення індексів.
- Використовуй умовні оператори або цикли для запобігання доступу до елементів за межами допустимого діапазону індексів.
Ось приклад, який демонструє обробку виключення Index Out of Bounds
:
Main
package com.example; public class Main { public static void main(String[] args) { int[] array = {1, 2, 3}; int index = 3; // Invalid index if (index >= 0 && index < array.length) { int element = array[index]; System.out.println("Element at index " + index + ": " + element); } else { System.out.println("Invalid index"); } } }
У цьому прикладі ми перевіряємо, чи індекс потрапляє в допустимий діапазон перед спробою отримати доступ до масиву. Якщо індекс допустимий, ми отримуємо елемент з цієї позиції. В іншому випадку ми обробляємо виключення шляхом відображення повідомлення про помилку.
Дякуємо за ваш відгук!