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

  • 5
  • Недоступна
На лекциях секретного центра JavaRush нас учили, что если в методе выбрасываются (возникают) исключения ClassNotFoundException и FileNotFoundException, программист просто обязан указать их в сигнатуре метода (в заголовке метода). Это и есть checked исключения. Давайте обработаем их в методе handleExceptions и выведем их на экран.
Вы не можете решать эту задачу, т.к. не залогинены.
Комментарии (59)
  • популярные
  • новые
  • старые
Для того, что бы оставить комментарий вы должны авторизоваться
shteynu15 уровень
6 декабря 2018, 09:18
Странно почему при отработке выводит только один java.io.IOException. Там же все три вызываются
RTwo Dtwo15 уровень, Москва
24 августа 2018, 18:37
Задача не верно поставлена. 5. Метод processExceptions должен отлавливать и выводить на экран "все возникающие" checked исключения. --- Достаточно одного исключения.
Витёк Пожаров20 уровень, Москва
2 августа 2018, 18:31
Нужно сделать всего один блок try..catch, в try вызываем все три метода, в catch ловим все через главный класс Exception, и просто выводим на экран через sout!
Данзан16 уровень, Москва
8 августа 2018, 23:32
пля долго думал в чем проблема А все потому что пытался вывести sout e.getMessage :D
Чебурешь :317 уровень
27 мая 2018, 11:00
А я для всех сделал исключения.
Атари16 уровень, Москва
17 мая 2018, 14:57
Примечание: Чтобы "вывести на экран исключение", просто вбейте System.out.println(e); // е - это исключение Ошибки не будет.
Ilgar16 уровень
10 марта 2018, 17:41
lovite vse srazu s (Exeption e) (on glavniy derjatel oshibok) i vivodite e na kansol. vot i vse
Алексей15 уровень, Санкт-Петербург
27 августа 2018, 11:18
"обработайте все checked исключения". Твоё предложение нарушает условия, т.к. в Exception входят и RuntimeException.
mamont17 уровень, Москва
9 февраля 2018, 08:29
Я тут приготовился к ухищрениям и изобретанию велосипедов, чтоб вывести все 3 исключения на экран с одним try catch. А тут просто условие кривое. )
Роман16 уровень
13 марта 2018, 10:38
Да, тоже ввело в заблуждение!
Nyaruko18 уровень, Москва
6 февраля 2018, 13:07
Почему моя Idea не понимает, что такое RemoteException? Если оставить только 2 первых метода, он выведет только исключение того метода, который был первым в try. По-моему, он никогда не выведет ВСЕ исключения, потому что после первого try нас сразу кидает в catch.
Кирилл Герасимов16 уровень, Челябинск
13 февраля 2018, 04:36
Идея пишет, что исключение уже перехвачено. Выводи этот метод первым в блоке catch.
Alexander Sedov28 уровень, Москва
13 июля 2018, 18:19
думаю потому что катч один для нескольких исключений
Boris18 уровень
19 июля 2018, 16:42
RemoteException наследуится от IOException , если ты первым написал IOException и после него RemoteException тебе выкинет ошибку потомучто IOException её уже поймало! ин следуйший catch не будет реализоватся.
Игорь Петров41 уровень
11 января 2018, 11:18
Я так понял нужно отлавливать все кроме RemoteException В условии написано "обработайте все checked исключения" А что это за исключения как определить к какому исключению относятся
NoSuchFieldException и IOException
а к какому
RemoteException
Beslan Bavizhev39 уровень
19 января 2018, 13:52
В IDEA можно легко пройтись по иерархии наследования (навести мышкой CTRL + ЛКМ). public class IOException extends Exception public class RemoteException extends java.io.IOException public class NoSuchFieldException extends ReflectiveOperationException public class ReflectiveOperationException extends Exception Они все checked.
Игорь Петров41 уровень
19 января 2018, 15:24
ОК! Спасибо !
Чебурешь :317 уровень
27 мая 2018, 10:58
А лучше ctrl + h. Мне больше нравиться)
Boris18 уровень
19 июля 2018, 16:45
милион поклонов я искал эту горячию клавишу и никак не мог найти её. спс тебе чел.
xerurg8832 уровень, Нижний Новгород
1 января 2018, 15:16
по умолчанию были вот эти строки
import com.sun.xml.internal.ws.policy.privateutil.PolicyUtils;
import java.rmi.server.ExportException;
удалите или закомментируйте их, иначе задача не компилируется на сервере! Порылся в сети и мое решение было таким:
public static void processExceptions(Solution obj) {
        try {
            obj.method1();
            obj.method2();
            obj.method3();
        }

        catch (IOException | NoSuchFieldException e) {
            System.out.println(e);
       }

    }