Встроенные исключения Java

Внутри стандартного пакета java.lang определено несколько классов исключений. Некоторые из них использовались в предшествующих примерах. Наиболее общие из этих исключений являются подклассами стандартного типа RuntimeException. Как уже объяснялось ранее, эти исключения не нужно включать в список throws метода — они называются непроверяемыми исключениями, поскольку компилятор не проверяет факт обработки или возбуждения методом таких исключений. Непроверяемые исключения, определенные в java. lang, описаны в табл. 10.1. В табл. 10.2 перечислены те из исключений, определенных в java.lang, которые должны быть включены в списки throws методов, которые могут их генерировать и не обрабатывают самостоятельно. Они называются проверяемыми исключениями. В Java также определено несколько других типов исключений, имеющих отношение к библиотекам классов.

Таблица 10.1. Непроверяемые подклассы RunTimeException, определенные в java.lang

Исключение Описание
ArithmeticException Арифметическая ошибка, такая как деление на ноль.
ArraylndexOutOfBoundsException Выход индекса за границу массива.
ArrayStoreException Присваивание элементу массива объекта несовместимого типа.
ClassCastException Неверное приведение.
EnumConstantNotPresentException Попытка использования неопределенного значения перечисления.
IllegalArgumentException Неверный аргумент использован при вызове метода.
IllegalMonitorStateException Неверная операция мониторинга, такая как ожидание незаблокированного потока.
IllegalStateException Окружение или приложение в некорректном состоянии.
IllegalThreadStateException Запрошенная операция несовместима с текущим состоянием потока.
IndexOutOfBoundsException Некоторый тип индекса вышел за допустимые пределы.
NegativeArraySizeException Создан массив отрицательного размера.
NullPointerException Неверное использование нулевой ссылки.
NumberFormatException Неверное преобразование строки в числовой формат.
SecurityException Попытка нарушения безопасности.
StringlndexOutOfBounds Попытка использования индекса за пределами строки.
TypeNotPresentException Тип не найден (добавлено в J2SE 5).
UnsupportedOperationException Обнаружена неподдерживаемая операция.

Таблица 10.2. Проверяемые исключения, определенные в java.lang

Исключение Описание
ClassNotFoundException Класс не найден.
CloneNotSupportedException Попытка клонировать объект, который не реализует интерфейс Cloneable.
IllegalAccessException Доступ к классу не разрешен.
InstantiationException Попытка создать объект абстрактного класса или интерфейса.
InterruptedException Один поток прерван другим потоком.
NoSuchFieldException Запрошенное поле не существует.
NoSuchMethodException Запрошенный метод не существует.