База Hintsage

Исключения

Иерархия исключений, обработка ошибок и управление ресурсами.

Практика

Вопросы: Исключения

Разберите последствия выполнения метода: какое исключение попадёт в catch и где окажется ошибка закрытия ресурса?

class Demo {
    static class R implements AutoCloseable {
        void use() { throw new IllegalStateException("body"); }
        @Override public void close() {
            throw new IllegalArgumentException("close");
        }
    }

    public static void main(String[] args) {
        try (R r = new R()) {
            r.use();
        } catch (Exception e) {
            System.out.println(e.getClass().getSimpleName());
            System.out.println(e.getSuppressed().length);
        }
    }
}
Программирование JavaИсключенияJava-разработчик серверных приложений

Объясните механизм: почему параметр multi-catch нельзя переназначить в этом фрагменте?

import java.io.IOException;

class Demo {
    static void read(boolean fail) throws IOException {
        if (fail) throw new IOException();
        throw new IllegalStateException();
    }

    static void run() {
        try {
            read(true);
        } catch (IOException | IllegalStateException e) {
            e = new IllegalStateException(e);
        }
    }
}

Показано 1–20 из 50