Бьюсь уже головой об стол. В HandleException обернул вызов всех трех методов в один блок try c тремя блоками catch, сначала Remote, потом IO, потом Field not found. Валидатор ругается на то, что метод должен отлавливать все checked исключения. Я считаю, что он их отлавливает все - а не выводит только потому, что программа перестает выполняться, когда схватывает одно из исключениц.
Почитал комментарии к задаче, перестал перехватывать NoSuchField и стал его пробрасывать наверх, потому что что оно Unchecked, вплоть до main - ошибка валидации не уходит. Стол уже в крови со лба.
package com.javarush.task.task09.task0916;
import java.io.IOException;
import java.rmi.RemoteException;
/*
Перехват checked-исключений
*/
public class Solution {
public static void main(String[] args) throws NoSuchFieldException {
handleExceptions(new Solution());
}
public static void handleExceptions(Solution obj) throws NoSuchFieldException {
try {
obj.method1();
obj.method2();
obj.method3();
// } catch (RemoteException e) {
// System.out.println( "Remote");
} catch (IOException e) {
System.out.println ("IO");
}// catch (NoSuchFieldException e) {
// System.out.println("No field");
//}
}
public void method1() throws IOException {
throw new IOException();
}
public void method2() throws NoSuchFieldException {
throw new NoSuchFieldException();
}
public void method3() throws RemoteException {
throw new RemoteException();
}
}