В задаче указано: считать два числа в статик блоке и явно закрыть поток. Попробовал обойтись без try-with, однако, какие бы ухищрения не придумывал, блок второй try, внутри finally первого блока не регистрирует ошибок. Собсна, не понимаю почему. Если есть знающие люди, растолкуйте, будьте любезны. Заранее - благодарю. Вырезку своего кода прилагаю:
public class Solution {
    public static int A;
    public static int B;

    static {
        BufferedReader reader = null;
        Exception exc = null;
        try {
            reader = new BufferedReader(new InputStreamReader(System.in));
            String a = reader.readLine();
            String b = reader.readLine();
            A = Integer.parseInt(a);
            B = Integer.parseInt(b);
        } catch (Exception e) {
            exc = e;
        } finally {
            try {
                reader.close();
                reader.close();
                reader.close();
                reader.close();
                reader.close();
                /** Не регистрирует вторичное исключение, как бы я не пытался **/
                if (exc != null)
                    exc.printStackTrace();
            } catch (Exception e) {
                if (exc != null) {
//                    e.addSuppressed(exc);
                    exc.printStackTrace();
                    e.printStackTrace();
                } else {
                    e.printStackTrace();
                }
            }
        }
    }
}