Как правильно поправить код
Есть код:
`public static void main(String[] args) throws Exception {
try {
int a = 90;
int b = 3;
System.out.println(a / b);
printSum(23, 234);
int[] abc = { 1, 2 };
abc[3] = 9;
} catch (Throwable ex) {
System.out.println("Что-то пошло не так...");
} catch (NullPointerException ex) {
System.out.println("Указатель не может указывать на null!");
} catch (IndexOutOfBoundsException ex) {
System.out.println("Массив выходит за пределы своего размера!");
}
}
public static void printSum(Integer a, Integer b) throws FileNotFoundException {
System.out.println(a + b);
}
`
Его нужно поправить. Я предполагаю, что нужно создать несколько методов (один с описанием Except и второй с catch отловом ошибок) но не совсем понимаю как правильно реализовать. Прошу помощи!
Ответы (1 шт):
Ваш вопрос касается исключений, чтобы написать ваш код правильно касательно исключений, нужно их убрать:
public static void main(String[] args) {
int a = 90;
int b = 3;
System.out.println(a / b);
printSum(23, 234);
int[] abc = {1, 2};
abc[3] = 9;
}
public static void printSum(Integer a, Integer b) {
System.out.println(a + b);
}
метод printSum не выбрасывает FileNotFoundException, это исключение нужно убрать из сигнатуры метода
ловить Throwable не нужно — это плохая практика, убираем (Throwable в Java это фатальные ошибки от которых вы не можете восстановиться, например, отсутствие памяти на устройстве)
NullPointerException и IndexOutOfBoundsException это рантайм исключения, обрабатывать не нужно, это "ошибка в коде у программиста", нужно фиксить код
В целом, ваш код не должен выбрасывать исключений, поэтому их вам использовать не нужно.
Но если при этом ваша программа будет падать с RuntimeException, то вам нужно исправить ошибки в коде, а не писать обработчики исключений.