Sobes.tech
Back to questions
Junior — Middle
50

Чем отличается unchecked исключение от checked исключения в Java?

Companies where asked
СБЕРСБЕР

Answer from AI

sobes.tech AI

В Java checked исключения — это исключения, которые проверяются компилятором во время компиляции. Методы, которые могут их выбросить, обязаны объявлять это через throws, и вызывающий код должен либо обработать эти исключения, либо также объявить их.

Unchecked исключения (RuntimeException и его подклассы) не требуют обязательной обработки или объявления. Они обычно связаны с ошибками программирования, например, NullPointerException или ArrayIndexOutOfBoundsException.

Пример:

// Checked исключение
public void readFile() throws IOException {
    // код чтения файла
}

// Unchecked исключение
public void divide(int a, int b) {
    int result = a / b; // может вызвать ArithmeticException
}

Таким образом, checked исключения предназначены для ситуаций, которые можно предвидеть и обработать, а unchecked — для ошибок, которые обычно указывают на баги.