Пользовательский класс обработки исключений 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, поскольку этого никогда не произойдет.

Другие вопросы по тегам