Пользовательский класс обработки исключений Java
У меня проблемы с обработкой некоторых исключений. Было бы здорово, если бы вы указали мне направление, чтобы я мог лучше понимать исключения, а также учиться обрабатывать исключения более эффективно. Посредством аргумента командной строки он разделяет одну строку на 4 разные строки, и сообщение об ошибке, обработанное исключением, выведет ожидаемый элемент 4, но получит 3 или любое количество элементов, таких как ожидаемые 4 элемента, но получит 2.
1 ответ
Я бы поменял InventoryReader
что-то вроде этого:
for (String row : rows) {
String[] elements = row.split("\\|");
if (elements.length != 4) {
throw new ApplicationException("Expected 4 elements, got " + elements.length);
}
items[i++] = new Item(elements[0], elements[1], Integer.valueOf(elements[2]),
Float.valueOf(elements[3]));
}
Тогда вы можете быть уверены, что количество предметов соответствует ожидаемому, и вам не нужно обрабатывать ArrayIndexOutOfBoundsException
, поскольку этого никогда не произойдет.