TGViewer
Java | Вопросы собесов Java | Вопросы собесов @easy_java_ru · 11.3K subscribers
Post #9 5.12K
❓В чем разница между checked и unchecked исключениями ?
Спросят с вероятностью 75%

Исключения (exceptions) важная часть обработки ошибок. Есть две основные категории: проверяемые (checked) и непроверяемые (unchecked).

Проверяемые исключения (Checked Exceptions):
✅ Должны быть явно обработаны в коде с помощью блока try-catch или должны быть указаны в сигнатуре метода с помощью ключевого слова throws.
✅ Они представляют ошибки, которые могут возникнуть во время выполнения программы и которые во многих случаях программист может предвидеть и обработать. Например, ошибка чтения файла, когда файл не существует.
✅ Примеры классов проверяемых исключений включают IOException, FileNotFoundException, ClassNotFoundException и другие.

Пример:
try {
FileInputStream file = new FileInputStream("non_existent_file.txt");
} catch (FileNotFoundException e) {
e.printStackTrace();
}


В этом примере FileNotFoundException является проверяемым исключением, и его необходимо обрабатывать в блоке try-catch.

Непроверяемые исключения (Unchecked Exceptions):
✅ Не требуют обязательной обработки в коде. Они обычно возникают из-за ошибок программирования, таких как деление на ноль или доступ к элементу за пределами массива.
✅ К ним относятся ошибки времени выполнения (RuntimeException) и ошибки (Error).
✅ Примеры включают NullPointerException, IndexOutOfBoundsException, ArithmeticException и другие.

Пример:
int result = 10 / 0; // Приводит к ArithmeticException


Здесь ArithmeticException является непроверяемым исключением, вызванным делением на ноль.

Почему разделение на checked и unchecked?
Разделение позволяет управлять потенциальными ошибками, которые могут быть исправлены, и отличать их от ошибок времени выполнения, которые чаще всего являются результатом ошибок в коде. Это способствует написанию более надежного и устойчивого к ошибкам кода.

➡ Примеры ответов
➡ Список всех вопросов на Java Developer

🧩 Идущий | 🔐 Собесы | 🔐 Тестовые
  • 👍 16
  • 🔥 4
More from @easy_java_ru
  1. Oct 12, 2026🤔 Жизненный цикл сервлетов? 1. Загрузка и инициализация (init); 2. Обработка запроса (ser…
  2. Oct 12, 2026🤔 Как остановить поток? Остановить поток в Java можно несколькими способами, но важно пом…
  3. Oct 11, 2026🤔 Какой класс позволяет читать данные из входного байтового потока в формате примитивных…
  4. Oct 11, 2026🤔 Чем отличается where от having ? WHERE и HAVING используются для фильтрации записей, но…
  5. Oct 10, 2026🤔 На основании какой структуры данных реализован ArrayList? ArrayList реализован на базе…
  6. Oct 9, 2026🤔 Что такое «HTML»? HTML (HyperText Markup Language) — это язык разметки, используемый дл…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →