В этом руководстве мы узнаем об исключениях в Java. Мы рассмотрим ошибки, исключения и различные типы исключений в Java.
Исключение - это непредвиденное событие, которое происходит во время выполнения программы. Это влияет на выполнение программных инструкций, что может привести к аварийному завершению программы.
Исключение может произойти по многим причинам. Некоторые из них:
- Неверный ввод пользователя
- Сбой устройства
- Потеря сетевого подключения
- Физические ограничения (нехватка дисковой памяти)
- Ошибки кода
- Открытие недоступного файла
Иерархия исключений Java
Вот упрощенная диаграмма иерархии исключений в Java.
Как видно из изображения выше, Throwable
класс является корневым классом в иерархии.
Обратите внимание, что иерархия делится на две ветви: Ошибка и Исключение.
Ошибки
Ошибки представляют собой неисправимые состояния, такие как нехватка памяти виртуальной машине Java (JVM), утечки памяти, ошибки переполнения стека, несовместимость библиотек, бесконечная рекурсия и т. Д.
Ошибки обычно не зависят от программиста, и мы не должны пытаться обрабатывать ошибки.
Исключения
Программа может перехватывать исключения и обрабатывать их.
Когда в методе возникает исключение, он создает объект. Этот объект называется объектом исключения.
Он содержит информацию об исключении, такую как имя и описание исключения, а также состояние программы, когда возникло исключение.
Мы узнаем, как обрабатывать эти исключения в следующем руководстве. В этом руководстве мы сосредоточимся на различных типах исключений в Java.
Типы исключений Java
Иерархия исключений также имеет две ветви: RuntimeException
и IOException
.
1. RuntimeException
Исключение во время выполнения происходит из - за ошибки программирования. Они также известны как неотмеченные исключения .
Эти исключения проверяются не во время компиляции, а во время выполнения. Вот некоторые из распространенных исключений времени выполнения:
- Неправильное использование API -
IllegalArgumentException
- Доступ к нулевому указателю (отсутствует инициализация переменной) -
NullPointerException
- Доступ к массиву вне пределов -
ArrayIndexOutOfBoundsException
- Деление числа на 0 -
ArithmeticException
Вы можете думать об этом так. «Если это исключение во время выполнения, это ваша вина».
Этого NullPointerException
бы не произошло, если бы вы проверили, инициализирована ли переменная перед ее использованием.
Этого ArrayIndexOutOfBoundsException
не произошло бы, если бы вы протестировали индекс массива относительно его границ.
2. IOException
IOException
Также известно как проверяемое исключение . Они проверяются компилятором во время компиляции, и программисту предлагается обработать эти исключения.
Вот некоторые из примеров проверенных исключений:
- Попытка открыть несуществующий файл приводит к
FileNotFoundException
- Попытка прочитать после конца файла
Теперь мы знаем об исключениях, мы узнаем об обработке исключений в следующем уроке.