Назад к задачамПолучайте помощь с лайвкодингом в реальном времени с Sobes Copilot
Junior — Senior
4
Различия между проверяемыми и непроверяемыми исключениями в Java
Условие задачи
В примере объявлены два пользовательских исключения: CheckedException, наследующий Exception, и UncheckedException, наследующий RuntimeException. При попытке выполнить throw new CheckedException(); компилятор выдаёт ошибку, потому что проверяемое исключение должно быть либо обработано в try‑catch, либо объявлено в сигнатуре метода с помощью throws. Чтобы устранить ошибку, необходимо добавить throws CheckedException к объявлению метода или обернуть вызов в блок try { … } catch (CheckedException e) { … }. Непроверяемое исключение UncheckedException компилятором не требует такой обработки.
public class JetbulbInterview {
public static void main(String[] args) {
// пример вызова методов
try {
raiseChecked();
} catch (CheckedException e) {
System.out.println("Caught checked exception");
}
raiseUnchecked();
}
static void raiseChecked() throws CheckedException {
throw new CheckedException();
}
static void raiseUnchecked() {
throw new UncheckedException();
}
}
class CheckedException extends Exception {}
class UncheckedException extends RuntimeException {}