Перехват checked-исключений

  • 5
  • Недоступна
На лекциях секретного центра JavaRush нас учили, что если в методе выбрасываются (возникают) исключения ClassNotFoundException и FileNotFoundException, программист просто обязан указать их в сигнатуре метода (в заголовке метода). Это и есть checked исключения. Давайте обработаем их в методе handleExceptions и выведем их на экран.
Вы не можете решать эту задачу, т.к. не залогинены.
Комментарии (77)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий вы должны авторизоваться
Volodya13 уровень, Минск
9 мая, 16:22
Одно Exception e{ System.out.println(e); } И все. Обыкновенное try-catch. Не мудрите!
Роман Князев15 уровень, Санкт-Петербург
10 мая, 12:40
Интересно зачем тогда в задание
Метод handleExceptions должен отлавливать и выводить на экран все возникающие checked исключения.
Вячеслав Гусев11 уровень, Самара
16 апреля, 07:58
Короче, просто в блок try{} суем все методы. А то что выводится только одно сообщение - так и должно быть. А то что по условию надо вывести возникшее checked исключение. Они все checked, и это значит что можно выводить любой exception.
Павел16 уровень, Санкт-Петербург
6 апреля, 19:33
а скажите пожалуйста, почему именно в таком порядке исключения описываем? } catch(RemoteException e){ System.out.println(e); } catch (IOException e) { System.out.println(e); } catch (NoSuchFieldException e) { System.out.println(e); } а если что то поменять местами то выдает ошибку? хотя они идет не в последовательности следования методов где создаются исключения...
Anton Rymarenko17 уровень
2 мая, 09:49
RemoveException подкласс класса ИО . Когда мы ловим ИО,то нет смысла уже ловить ремов. java.lang.Object java.lang.Throwable java.lang.Exception java.io.IOException java.rmi.RemoteException .Для этой задачи нам надо словить сразу все Exception в один catch.для этого достаточно класса java.lang.Exception.Надеюсь-то поможет для понимания:)
Павел16 уровень, Санкт-Петербург
4 мая, 10:37
аааа ну да точно... порой без подсказки не догадаться до таких простых вещей))
Костя Демчук13 уровень
25 февраля, 18:28
Предпоследнее требование сбивает с толку
Viktor 17 уровень
18 марта, 22:18
точно! долго думал как же их выполнить все.. и в одном блоке Трай Кетч.. оказалось вообще второй и третий метод прорабатывать не должны - валидатор пропускает.
Nordis19 уровень, Санкт-Петербург
19 марта, 20:32
Как обычно! Тебя нужно сбить столку что бы больше потратил времени. Там посидел 2 часа подумал , в другой задачке голову поломал подумал. День прошёл... Если все условия будут чёткие и понятные. Вы задачки порешаете раза 2 а то и 3 быстрее. А задачки то не бесконечные). А Премиум продлять то нужно заставить. Это Бизнес) Меня например это тоже с толку сбило.Я потратил на эту задачу мин 30 , хотя она решается за 1 мин! И да если бы я сюда не заглянул посмотреть что люди то пишут , может бы ещё сидел бы там вылавливал все 3 Exception , как дурак!
Андрей10 уровень, Киев
28 марта, 20:03
Я пробросил все три в меин, и все три отловил, не прошло. Поигрался с последовательностью, думал может кто под кем наследуется. Перечитал еще раз, перебросил все три в handleExceptions прошло :)
Be1NDeR14 уровень, Харьков
5 апреля, 07:36
в данной задаче показан смысл понимания наследований класса Throwable, и то что не всегда нужно пользоваться Авто Обертками в IDEI :) Если мы по очереди будем комментировать методы, т.к. Exception класс родитель, то будут отлавливаться все ошибки заданные в условие.
Valery16 уровень
22 февраля, 19:07
Метод handleExceptions по условию должен вызывать method2 and method3(т.е. согласно условию все три метода должны вызываться), но по факту он после первого метода остановился и перешел в блок кэтч, но валидатор пропустил решение. либо условие туманно - или я чего-то не поняла? подскажите плиз
Владимир Павленко22 уровень, Москва
15 февраля, 17:21
IDEA сама все расставила, добавил только вывод
System.out.println(e);
Александр Ковалев14 уровень, Москва
28 января, 16:27
Валидатор не хочет воспринимать за вывод метод printStackTrace(), а с System.out.println(...) все проходит...
y-grek13 уровень, Киев
7 февраля, 01:13
ага.. ошибка у меня была только в этом.. но валидатор пихнул мне еще и "Метод handleExceptions должен отлавливать и выводить на экран ВСЕ возникающие checked исключения." поэтому я полтора часа придумывал как одним "траем" вывести все три эксепшена.. голову чуть не сломал..
shteynu18 уровень
6 декабря 2018, 09:18
Странно почему при отработке выводит только один java.io.IOException. Там же все три вызываются
Александр Ковалев14 уровень, Москва
28 января, 16:24
наверное потому, что первое исключение прекращает выполнение основного кода и передает управление в блок catch
Viktor 17 уровень
18 марта, 22:19
да.. походу что бы все три надо три Трая
Александр Ковалев14 уровень, Москва
1 мая, 01:25
try - одного хватит.. а вот с catch надо посмотреть дерево наследования
RTwo Dtwo16 уровень, Москва
24 августа 2018, 18:37
Задача не верно поставлена. 5. Метод processExceptions должен отлавливать и выводить на экран "все возникающие" checked исключения. --- Достаточно одного исключения.
Витёк Пожаров28 уровень, Москва
2 августа 2018, 18:31
Нужно сделать всего один блок try..catch, в try вызываем все три метода, в catch ловим все через главный класс Exception, и просто выводим на экран через sout!
Данзан16 уровень, Москва
8 августа 2018, 23:32
пля долго думал в чем проблема А все потому что пытался вывести sout e.getMessage :D