Как ведёт себя Throwable.addSuppressed, если передать ему сам объект исключения?
База Hintsage
Исключения
Иерархия исключений, обработка ошибок и управление ресурсами.
Практика
Вопросы: Исключения
Вызванный метод выбросил RuntimeException, хотя его объявление throws этого не содержит: почему вызывающий код всё же может перехватить это исключение?
Вам дан блок try, в котором нет явного выброса или вызова метода с объявленным проверяемым исключением. Почему компилятор может признать catch для конкретного проверяемого типа недостижимым?
Почему вызов System.exit() не гарантирует выполнение finally в текущем потоке?
После неудачной статической инициализации класса какой результат получит повторное обращение к этому классу?
Можно ли перегрузить метод Java, изменив только его объявление throws?
Что произойдёт с возвращаемым значением метода, если его try-with-resources завершается через return, но закрытие ресурса выбрасывает исключение?
При повторном выбрасывании того же объекта исключения какой стек вызовов увидит диагностика?
Что произойдёт при завершении try-with-resources, если выражение ресурса вернуло null?
Разберите поведение фрагмента: что будет выведено и какое исключение фактически возникнет?
public class Demo {
public static void main(String[] args) {
try {
throw null;
} catch (NullPointerException e) {
System.out.println("caught");
}
}
}
Объясните механизм: почему catch не перехватывает исключение только потому, что его тип указан в cause?
Что происходит с исходным исключением, если сам блок catch выбрасывает новое исключение?
Как выбор между AutoCloseable и Closeable влияет на требования к обработке исключения из close()?
Объясните механизм: почему параметр 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);
}
}
}
Что ограничивает использование уже созданной переменной в try-with-resources?
Вам нужно передать лямбда-обработчик в стандартный функциональный интерфейс без throws: почему вызов проверяемого исключения внутри него не компилируется?
Как оператор return в finally влияет на исключение, выброшенное из try?
Объясните механизм поиска обработчика для неперехваченного исключения по стеку вызовов Java.
Что определяет, сможет ли try-catch одного потока перехватить исключение, возникшее в другом?
При каких условиях Java позволяет повторно выбросить параметр catch, сохранив более узкий список проверяемых исключений в throws?
Показано 21–40 из 50