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




Все стандартные подклассы класса Exception, за исключением класса RuntimeException, являются классами проверяемых исключений.

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

ClassNotFoundException: класс или интерфейс с указанным именем не был найден.

CloneNotSupportedException: для копирования объекта, был вызван метод сlone класса Object, но класс этого объекта не реализует интерфейс Cloneable.

IllegalAccessException: была сделана попытка загрузить класс с помощью строки, дающей его полное квалифицированное имя, но в настоящее время метод не имеет доступа к определению указанного класса, потому что класс не является классом с типом доступа public и находится в другом пакете.

InstantiationException: была сделана попытка создать экземпляр класса, используя метод newInstance класса Class, но создание экземпляра названного объекта класса невозможно, потому что это - интерфейс, класс типа abstract, или массив.

InterruptedException: текущий поток ожидал, а другой поток прервал текущий поток, используя метод interrupt класса Thread.

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

java.io.IOException: требуемая операция ввода - вывода не могла закончиться нормально. Подклассами этого класса являются:

1. java.io.EOFException: Был достигнут конец файла до нормального завершения операции ввода.

2. java.io.FileNotFoundException: файл с именем, указанным строкой или путем не был найден в пределах файловой системы.

3. java.io.InterruptedIOException: текущий поток ожидал завершения операции ввода - вывода, а другой поток прервал текущий поток, используя метод interrupt класса Thread.

4. java.io.UTFDataFormatException: требуемое преобразование строки к Ява-модифицированному UTF-8-формату или из него не могло быть закончено, потому что строка была слишком длинной или подразумеваемые UTF-8-данные не были результатом кодирования Unicode-строки в UTF-8-формат.

Стандартный пакет java.net определяет следующие дополнительные подклассы java.io.IOException: и java.net.MalformedURLException: Строка, которая предусматривалась как URL, или как часть URL, имела несоответствующий формат или определяла неизвестный протокол.

Java.net.ProtocolException: какой-то аспект протокола сети выполнялся неправильно.

Java.net.SocketException: действие использующее сокет, не могло быть закончено нормально.

Java.net.UnknownHostException: не найден сетевой адрес.

Java.net.UnknownServiceException: сетевое соединение не может поддерживать требуемый сервис.

 

Класс Error

Класс Error и его стандартные подклассы - это исключения, при возникновении которых обычные программы, как ожидается, восстановятся. Класс Error является отдельным подклассом Throwable, отличным от класса Exception в иерархии классов, он позволяет программам использовать следующую запись:

Try{…} catch (Error e) {…}

для того, чтобы обнаруживать все исключения, в результате которых восстановление возможно, ошибки, в результате которых восстановление невозможно, не обнаруживаются.

Однако ошибки Errors представляют собой более серьёзные проблемы, которые, согласно спецификации Java, не следует пытаться обрабатывать в собственной программе, поскольку они связаны с проблемами уровня JVM. Например, исключения такого рода возникают, если закончилась память, доступная виртуальной машине. Программа дополнительную память всё равно не сможет обеспечить для JVM.

 


Заключение.

Обработка исключений предоставляет исключительно мощный механизм для управления сложными программами. Try, throw, catch дают простой и ясный путь для встраивания обработки ошибок и прочих нештатных ситуаций в программную логику. Разработчики постоянно улучшают язык и саму библиотеку классов, что делает язык наиболее безопасным для разработки приложений. Также обладает сильным инструментарием для написания собственных типов исключений.

 

Приложение 1.

Обработка исключений в Java управляется пятью ключевыми словами: try, catch, throw,throws, finally. Общая структура блока обработки исключений такова:

 

 

Приложение 2.
В данном примере генерируется исключение деления на 0, а также создается и обрабатывается собственное исключение

Результат выполнения:
run:
i=107

исключение 1

исключение 0

i=15

СБОРКА УСПЕШНО ЗАВЕРШЕНА (общее время: 7 секунды)

 

 

Пример обработки исключения с помощью блоков try{}catch{}

Результат выполнения:
run:

ошибка, обращение за область индексации массива

теперь ошибки нет, вот массив 01234567890123456789

СБОРКА УСПЕШНО ЗАВЕРШЕНА (общее время: 5 секунды)

 

 

Список используемой литературы:
1. Java documentation. Oracle. Sun microsystems.

2. Java. Полное руководство. Герберт Шилдт.

3. Быстрое тестирование. К. Браун, Р. Калбертсон, Г. Кобб.

4. Отладка программного обеспечения. Н. Вязовик.

5. Лекции МФТИ «Программирования Н. Вязовик. Е. Жилин.
на Java» центр Sun технологий

 



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2016-02-16 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: