При успешном создании нескольких ресурсов какой порядок их закрытия задаёт try-with-resources?
База Hintsage
Исключения
Иерархия исключений, обработка ошибок и управление ресурсами.
Практика
Вопросы: Исключения
При преобразовании низкоуровневой ошибки в доменное исключение как сохранить исходную причину для диагностики?
Как try-with-resources обрабатывает уже открытые ресурсы, если инициализация следующего ресурса завершается исключением?
Представьте, что обработчик catch(Exception) не сработал при аварийном завершении из-за OutOfMemoryError: почему так происходит?
В чём причина ограничения Java, запрещающего указывать в одном multi-catch альтернативы, связанные отношением наследования?
Как компилятор Java определяет, обязан ли вызывающий код обработать исключение, объявленное методом?
Может ли переопределяющий метод объявить более широкое проверяемое исключение, чем метод родителя?
Разберите последствия: какое исключение увидит вызывающий код, если тело try выбросило исключение, а блок finally завершился другим исключением?
Объясните, почему обработчик общего типа исключения нельзя ставить перед обработчиком его подкласса.
Разберите последствия выполнения метода: какое исключение попадёт в 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);
}
}
}
Показано 41–50 из 50