Ребята не подскажите почему именно нужно перехватить первые две ошибки, а 3 и 4-й вариант избежать и без них не выходит ошибки?
Абакар
12 уровень
Почему не надо перехватывать ArithmeticException и URISyntaxException?
Обсуждается
Комментарии (2)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
hidden #598481
30 ноября 2020, 09:40полезный
Потому что это runtime исключения. Они случаются на этапе выполнения программы, и не проверяются на этапе компиляции. Поэтому они называются unchecked - исключения.
Например, ты пытаешься обратиться к какому-то элементу массива. На этапе компиляции компилятору неизвестно, какой у массива будет размер, поэтому он не может проверить, не произойдет ли выход за границы массива. Если произойдет, то будет выброшено исключение ArrayIndexOutOfBoundException, но это не означает, что нужно отмечать метод как "throws ArrayIndexOutOfBoundException" или пытаться его отловить. Поскольку это Runtime исключение, то любой метод может его выбросить без предупреждения "throws ...", а наличие такого исключения покажет программисту на наличие ошибки в его коде: прежде чем обратиться к элементу массива нужно проверить наличие этого элемента, или неправильно был вычислен индекс элемента и так далее.
Вот к такому типу исключений и относятся ArithmeticException и URISyntaxException
+1
Иван Борзов
30 ноября 2020, 09:12полезный
В коментах к задаче, по-моему, проще почитать)
0