💬 Спросят с вероятностью 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?
Разделение позволяет управлять потенциальными ошибками, которые могут быть исправлены, и отличать их от ошибок времени выполнения, которые чаще всего являются результатом ошибок в коде. Это способствует написанию более надежного и устойчивого к ошибкам кода.
🔥 ТОП ВОПРОСОВ С СОБЕСОВ
🔒 База собесов | 🔒 База тестовых