Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
JavaEx.docx
Скачиваний:
27
Добавлен:
10.05.2015
Размер:
212.43 Кб
Скачать

Иерархия исключений

Возможные исключения Ява-программ организованы в иерархии классов, содержащейся в классе Throwable , непосредственном подклассе Object. Классы Exсeption и Error - непосредственные подклассы класса Throwable. Класс RuntimeException - непосредственный подкласс класса Exсeption.

Классы исключений, объявленные стандартными пакетами java.lang, java.util, java.io и java.net, называются стандартными классами исключений.

Java-программы могут использовать ранее существующие классы исключений в операторах throw, или определять дополнительные классы исключений, как подклассы класса Throwable или любого из его подклассов. Чтобы воспользоваться преимуществами Java -системы проверки времени компиляции для обработчиков исключений, обычно определяют большинство классов новых исключений как классы проверяемых исключений и как подклассы класса Exсeption, которые не являются подклассами RuntimeException.

Классы Exception и RuntimeException

Класс Exception - суперкласс всех исключений, обработки которых могут требовать обычные программы.

Стандартные исключения времени выполнения

Класс RuntimeException - подкласс класса Exception. Подклассы класса RuntimeException - классы непроверяемых исключений.

Пакет java.lang определяет следующие стандартные непроверяемые исключения времени выполнения, которые, подобно всем другим классам пакета java.lang, неявно импортированы, и поэтому на них можно ссылаться с помощью их простых имен:

  1. ArithmeticException: возникла исключительная арифметическая ситуация, такая как операция целочисленного деления с нулевым знаменателем.

  2. ArrayStoreException: была сделана попытка сохранить в массиве компонент тип значения которого не совместим с типом компонент массива.

  3. ClassCastException: была сделана попытка привести  ссылку на объект несоответствующего типа.

  4. IllegalArgumentException: метод передал недействительный или несоответствующий аргумент или вызывает несоответствующий объект. Подклассами этого класса являются:

  1. IllegalThreadStateException: поток не был в соответствующем режиме для требуемого действия.

  2. NumberFormatException: была сделана попытка конвертировать строку в числовое выражение, но строка не имела соответствующего формата.

  3. IllegalMonitorStateException: поток попытался работать с другими потоками  или давать сведения  другим нитям, имея дело с объектами, которые она не блокировала.

  4. IndexOutOfBoundsException: индекс ( массива, строки или вектора) или поддиапазон,заданный с помощью двух значений индекса или индексом и длиной, были вне диапазона.

  5. NegativeArraySizeException: была сделана попытка, создать массив с отрицательной длиной .

  6. NullPointerException: была сделана попытка использовать пустую ссылку в случае, где требовалась ссылка на объект.

  7. SecurityException: было обнаружено нарушение безопасности.

Пакет java.util определяет следующие дополнительные стандартные непроверяемые исключения времени выполнения:

  1. java.util.EmptyStackException: была сделана попытка доступа к элементу пустого стека.

  2. java.util.NoSuchElementException: была сделана попытка доступа к элементу пустого вектора.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]