- •Обработка исключений
- •Методы класса Throwable
- •Коллекции
- •Класс ArrayList
- •Иерархия типов в java.Io
- •Классы DataInputStream и DataOutputStream
- •Класс StreamTokenizer
- •Классы Reader и Writer.
- •Класс RandomAccessFile
- •Сериализация и десериализация объектов
- •Чтение из стандартного ввода
- •Класс Scanner, конструкторы, основные методы
- •Класс jFrame, конструкторы, основные методы
- •Организация диалогов, класс jOptionPane и его методы
- •Способы идентификации источника событий
- •Панели и менеджеры раположения
- •Рассмотрим основные виды размещения:
- •Кнопки, иерархия классов, свойства, конструкторы и методы.*
- •Надписи, конструкторы и методы
- •Поля текстового ввода, иерархия классов, конструкторы и методы.*
- •Списки jList, конструкторы, методы
- •Классы для создания меню, последовательность действий при создании меню:
- •Событийная модель Java.*
- •Интерфейсы-слушатели и классы-адаптеры
- •Архитектура mvc (Model/View/Controller).*
- •Gui общее понятия, принципы реализации в Java.*
- •Методы класса Formatter
Методы класса Throwable
Позволяют получить информацию из исключения, наиболее важные из них.
--public String toString() -
Краткое сообщение о исключении.
--public String getMessage() -
Полное сообщение о исключении.
--public void printStackTrace()
--public void printStackTrace(PrintStream s)
--public void printStackTrace(PrintWriter s)
Выдача в стандартный или указанный поток полной информации о точке возникновения исключения.
Метод getMessage
Каждое исключение имеет переменную реализации типа string, которая содержит некоторое сообщение,
обычно идентифицирующее причину исключения
throw new Exception(“message”);
message -аргумент конструктора Exception
Если объект называется е, то вызов метода е.getMessage () возвращает эту строку
try{ ….
if (a<0)
throw new Exception("Вводимые значения должны быть положительными.");}
catch(Exception e) {
System.out.println(e.getMessage());
System.out.println("Аварийное завершение программы.")
System.exit(0); }
Проверяемые и непроверяемые :
Исключения генерируются по одной из 3 причин:
1.Виртуальной машиной языка Ява было обнаружено ошибочное состояние
--формула оценки выражения нарушает нормальную семантику языка Ява
--ошибка происходит при загрузке или компоновке части Ява-программы
--некий ограниченный ресурс превышен
2.Оператор throw был выполнен в Ява- коде.
3.В виртуальной машине произошла внутренняя ошибка
Исключения представлены экземплярами класса Throwable и его подклассов.
Все вместе эти классы- классы исключений – делятся на 2 типа
1.Классы проверяемых исключений
2.Классы непроверяемых исключений
Во время компиляции язык Ява проверяет то, что Ява- программа содержит обработчики для проверяемых исключений
Классы непроверяемых исключений - это класс RuntimeException и его подклассы, а также класс Error и его подклассы
Все оставшиеся классы исключений - классы проверяемых исключений (обязательно нужно перехватывать).
Класс RuntimeException:
--ArithmeticException
--ArrayStoreException
--ClassCastException
--IllegalArgumentException
NumberFormatException
--IndexOutOfBoundsException
--NegativeArraySizeException
--NullPointerException
Стандартные проверяемые исключения:
( для Exception кроме Runtime)
--ClassNotFoundException
--IllegalAccessException
--InstantiationException:
Пакет java.io определяет следующие дополнительные стандартные исключения: . IOException
--EOFException
--FileNotFoundException
Создание собственных классов исключений.Общая структура:public class MyExcep extends Excep{public MyExcep() {};public MyExcep(String msg){super (msg); }}Собствен.кл.искл-ий исп-ся для нестандартных действий при наступ.исключ.сит., как правило связ-х с наступлением этой искл.сит.Если метод не перехватывает искл-ие,он должен по крайней мере предупреждать програм-та о том,что любой вызов этого метода может сгенерировать искл-ие.Это предупреждение наз.throws-дерективой.Обработка искл-ий,генерир-х при вызове метода:1.исключ.перехват-ся в catch-блоке внутри опред-ия метода;2. обработка осущ-ся внутри кл.или метода, вызыв-го данный метод(throws-дир. необход).Если метод генерир.искл.,и это искл-ие не перехват-ся внутри мет,то вып. Метода будет завершено сразу после генерац.искл.