Эксперты? Что не так?
package com.javarush.task.task09.task0916;
import java.io.IOException;
import java.rmi.RemoteException;
/*
Перехват checked-исключений
*/
public class Solution {
public Exception e;
public static void main(String[] args) {
handleExceptions(new Solution());
}
public static void handleExceptions(Solution obj) {
try {
if (obj.e == null) {
obj.method1();
} else if (obj.e instanceof IOException) {
obj.method2();
} else if (obj.e instanceof NoSuchFieldException) {
obj.method3();
}
}catch (RemoteException e) {
System.out.println(e.getClass());
}catch (Exception e) {
System.out.println(e.getClass());
obj.e = e;
Solution.handleExceptions(obj);
}
}
public void method1() throws IOException {
throw new IOException();
}
public void method2() throws NoSuchFieldException {
throw new NoSuchFieldException();
}
public void method3() throws RemoteException {
throw new RemoteException();
}
}
if (obj.e == null)
. Просто вызывайте метод объекта.