English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
В этом уроке мы изучим исключения в Java. Мы будем介绍 ошибки, исключения и различные типы исключений в Java.
Исключения - это неожиданные события, которые происходят в процессе выполнения программы. Они влияют на поток инструкций программы,从而导致 аномальное завершение программы.
Причина возникновения исключений может быть очень разнообразной. В том числе:
Неправильный ввод пользователя
Поломка устройства
Потеря подключения к сети
Физические ограничения (недостаток памяти на диске)
Кодовая ошибка
Открытие файла, который недоступен
Это упрощенная диаграмма иерархии исключений в Java.
Из上图 можно увидеть, что класс Throwable является корневым классом иерархии.
Обратите внимание, что иерархия разделена на две ветви: ошибки (Error) и исключения (Exception).
ErrorОни представляют собой невозместимые ситуации, такие как нехватка памяти Java виртуальной машины (JVM), утечка памяти, ошибки переполнения стека, несовместимость библиотек, бесконечный рекурсивный вызов и т.д.
Ошибки обычно не поддаются контролю программиста, и мы не должны пытаться обрабатывать ошибки.
Программа может перехватывать и обрабатыватьИсключения.
Когда в методе возникает исключение, он создает объект. Этот объект называется объектом исключения.
Он содержит информацию о исключениях, например, имя исключения и описание, а также состояние программы в момент возникновения исключения.
В следующем уроке мы узнаем, как обрабатывать эти исключения. В этом уроке мы сейчас сосредоточимся на различных типах исключений в Java.
Структура исключений также имеет две ветви: RuntimeException и IOException.
ОдноИсключения времени выполненияПроисходят из-за программных ошибок. Их также называютНеконтролируемые исключения.
Эти исключения не проверяются на этапе компиляции, а на этапе выполнения. Некоторые распространенные исключения времени выполнения включают:
Неправильное использование API - IllegalArgumentException
Доступ к пустой指针 (отсутствие инициализации переменной) - NullPointerException
Доступ к массиву за пределами границ - ArrayIndexOutOfBoundsException
Деление числа на ноль - ArithmeticException
Вы можете так думать:Если это исключение времени выполнения, то это ваша ошибка。
Если проверять переменную на инициализацию перед использованием, то не произойдет NullPointerException.
Если тестировать индекс массива по границам массива, то не произойдет ArrayIndexOutOfBoundsException.
IOException также называетсяПроверка исключений. Они проверяются компилятором во время компиляции и напоминают程序员 об обработке этих исключений.
Примеры проверки исключений:
Попытка открыть не существующий файл приведет к FileNotFoundException
Попытка чтения содержимого за концом файла
Теперь我们已经了解了异常,我们将在下一教程中学习Обработка исключений.