
- •Лабораторная работа № 4 Работа с исключениями и коллекциями
- •Исключения в Java. Теоретические сведения
- •Использование try, catch и throw
- •Использование множественного catch и finally
- •Использование ключевого слова throws
- •Системные исключения
- •UnsupportedOperationException - обнаружена неподдерживаемая операция Коллекции (перечислимые типы) в Java. Теоретические сведения.
- •Иерархия интерфейсов коллекций
- •Назначение интерфейсов, расширяющих интерфейс Collection
- •Рабочие классы интерфейса List
- •Массив типа ArrayList
- •Методы класса ArrayList
- •Массив типа LinkedList
- •Методы класса LinkedList
- •Ассоциативные массивы в Java
- •Диаграмма интерфейса Map
- •Рабочие классы интерфейса Map
- •Задание
- •Приложение 1. Работа с датой и временем в Java
- •Приложение 2. Пример общего класса обработки ошибок, сообщений и логирования.
Лабораторная работа № 4 Работа с исключениями и коллекциями
Цель работы: получить навыки работы с исключениями и коллекциями (перечислимыми типами) на языке Java.
Продолжительность работы - 4 ч.
Оглавление
Исключения в Java. Теоретические сведения 3
Использование try, catch и throw 4
Пример. Простое использование try, catch и throw в программе «Hallo Java» 4
Использование множественного catch и finally 5
Пример. Использование множественного catch и finally в программе «Hallo Java» 6
Использование ключевого слова throws 6
Пример. Метод saveToFile класса Book 7
Пример. Метод saveToFile класса Book 7
Пример. Метод saveAllToFile класса Books 8
Системные исключения 8
Коллекции (перечислимые типы) в Java. Теоретические сведения. 10
Иерархия интерфейсов коллекций 11
Назначение интерфейсов, расширяющих интерфейс Collection 11
Рабочие классы интерфейса List 12
Массив типа ArrayList 13
Методы класса ArrayList 13
Пример. Работа методов contains и indexOf и перебор элементов ArrayList 14
Массив типа LinkedList 14
Методы класса LinkedList 15
Пример. Перебор элементов коллекции LinkedList 15
Пример. Перебор элементов коллекции LinkedList с использованием for и ListIterator 16
Ассоциативные массивы в Java 17
Диаграмма интерфейса Map 17
Рабочие классы интерфейса Map 18
Пример. Методы работы с элементами Map 20
Пример. Перебор всех элементов ассоциативного массива c приведением к интерфейсу Set 20
Задание 22
Приложение 1. Работа с датой и временем в Java 24
Пример. Вывод текущего времени 24
Пример. Манипуляции с датой: получение текущей, создание новой, проверки 24
Приложение 2. Пример общего класса обработки ошибок, сообщений и логирования. 25
Исключения в Java. Теоретические сведения
Обработку ошибок в Java сразу следует делать правильно т.е. преимущественно с использованием специальных событий-исключений. Исключения это действительно события, потому что при возникновении таких событий т.е. исключительных ситуаций JVM прерывает выполнение алогритма программы и автоматически находит программный код, предназначенный для реагирования на данную ситуацию и выполняет его. Если такого программного кода не обнаружена JVM аварийно завершит программу.
Например, такое аварийное завершение имеет место при обращение к массиву за перелами индекса (тип ошибки ArrayIndexOutOfBoundsException) или деление на ноль (тип ошибки ArithmeticException). Для того, чтобы в этих случаях предотвратить аварийное завершение программы программисту требуется самостоятельно реалибзовать обработку этих ошибок так, как это будет показано далее в примерах.
Второй способ обработки ошибок заключается в возвращении числовых значений — кодов ошибки. Например, если строка пуста, метод возвращает — 0, а если не пуста — 1. В зависимости от значения 0 или 1 выодится соответствующее сообщение об ошибке. Практика, однако, показывает, что последовательное усовершенствование такого подхода для целей достижения универсальности приводит к решению очень похожему на механизм исключений для ошибок требующих прерывания выполнения алгоритма программы. Однако, при валидации данных, когда требуется получить список всех допущенных ошибок, такой метод — применим т.к. исключения не сохраняют историю.
Для работы с исключениями в Java используетися всего 5 ключевых слов: try, catch, throw, throws, finally.