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



В Java исключения делятся на два основных типа: checked и unchecked. Разница между ними ключевая и касается как обработки, так и структуры кода.

✅ Checked Exceptions (Проверяемые исключения)

Примеры: IOException, SQLException, FileNotFoundException

Отличия:
1. Проверяются компилятором — вы обязаны либо обработать их с помощью try-catch, либо явно пробросить (throws) в сигнатуре метода.
2. Производные от Exception, но не от RuntimeException.
3. Используются для ситуаций, которые можно разумно ожидать и обработать (например, отсутствие файла, проблемы с сетью).

Пример:
public void readFile(String path) throws IOException {
FileReader reader = new FileReader(path); // может выбросить IOException
}



❌ Unchecked Exceptions (Непроверяемые исключения)

Примеры: NullPointerException, ArrayIndexOutOfBoundsException, IllegalArgumentException

Отличия:
1. Не проверяются компилятором — вы не обязаны их обрабатывать или декларировать.
2. Производные от RuntimeException.
3. Возникают в результате ошибок в логике программы или непредвиденных ситуаций.

Пример:
public void printLength(String str) {
System.out.println(str.length()); // может выбросить NullPointerException
}

Если кратко:

Checked — ошибки среды, требующие явной обработки.

Unchecked — ошибки в логике, ответственность программиста.

👉 @BookJava
Просмотры: 555
Открыть в MAX Сообщить о неточности

Репосты публикации

Публикация канала

Сообщить о неточности

Опишите, что нужно исправить. Если есть источник, добавьте ссылку.

Вы покидаете datool.ru

Ссылка ведёт на внешний сайт. datool.ru не отвечает за его содержимое — проверьте адрес, прежде чем вводить пароли или платёжные данные.

Переход через 10 с

Перейти