Мой код не отлавливает исключение ArrayIndexOutOfBoundsException . Как так?
package com.javarush.task.pro.task14.task1404;
import java.util.Arrays;
import java.util.List;
import java.util.Scanner;
/*
Помощник преподавателя-3
*/
public class Solution {
public static final String PROMPT_STRING = "Введите номер студента, или exit для выхода: ";
public static final String EXIT = "exit";
public static final String ANSWERING = "Отвечает ";
public static final String NOT_EXIST = "Студента с таким номером не существует";
public static final String INTEGER_REQUIRED = "Нужно ввести целое число";
static List<String> studentsJournal = Arrays.asList(
"Тимур Мясной"
, "Пенелопа Сиволап"
, "Орест Злобин"
, "Ирида Продувалова"
, "Гектор Гадюкин"
, "Электра Чемоданова"
, "Гвидон Недумов"
, "Роксана Борисенко"
, "Юлиан Мумбриков"
, "Зигфрид Горемыкин");
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
while (true) {
System.out.print(PROMPT_STRING);
String input = scanner.nextLine();
if (input.toLowerCase().equals(EXIT)) {
break;
}
int studentId;
try {
studentId = Integer.parseInt(input);
} catch (ArrayIndexOutOfBoundsException a) {
System.out.println(NOT_EXIST);
continue;
} catch (NumberFormatException b) {
System.out.println(INTEGER_REQUIRED);
continue;
}
System.out.println(ANSWERING + studentsJournal.get(studentId));
}
}
}