Обработка исключений
Скачать 280.52 Kb.
|
МИНОБРНАУКИ РОССИИ Санкт-Петербургский государственный электротехнический университет «ЛЭТИ» им. В.И. Ульянова (Ленина) Кафедра ВТ отчет по лабораторной работе №5 по дисциплине «Объектно-ориентированное программирование» Тема: Обработка исключений
Санкт-Петербург 2023 Цель работы: Знакомство с механизмом обработки исключений в языке Java. Задача: Задайте спецификацию исключений. Напишите 1-2 класса собственных исключений. Разработайте код методов, где контролируются и обрабатываются исключительные ситуации. Перечень ситуаций, которые контролируются с помощью исключений: Если при нажатии кнопки “Поиск” в search_field находится изначальная строка вызывается ошибка MyExceptionSearch и выводится диалоговое окно с надписью “Вы не ввели название отеля для поиска”. Рисунок 1 Ошибка "Не ввели название отеля" Если при нажатии кнопки “Поиск” в search_field находится пустая строка вызывается ошибка NullPointerException и выводится диалоговое окно с надписью ошибки. Рисунок 2 Ошибка «Пустая строка» Если попытаться удалить строчку в пустой таблице вызывается ошибка MyExceptionDelete и выводится диалоговое окно с надписью “ Таблица пуста! Нельзя больше удалять.”. Рисунок 3 Ошибка "Удаление строки пустой таблицы" Рисунок 4 Javadoc ошибки удаления строки в пустой таблице Рисунок 5 Javadoc ошибки поиска пустой строки Исходные тексты классов собственных исключений, методов, где генерируются и обрабатываются исключительные ситуации: /** * Класс ошибки выводящий диалоговое окно при неверном поиске отеля * @author Артем Мальцев * */ private class MyExceptionSearch extends Exception { /** * Ошибка пользователь не ввел название */ public MyExceptionSearch() { super ("Вы не ввели название отеля для поиска"); } } /** * Класс ошибки выводящий диалоговое окно при удалении при пустой таблице * @author Артем Мальцев * */ private class MyExceptionDelete extends Exception { /** * Ошибка пустая таблица */ public MyExceptionDelete() { super ("Таблица пуста! Нельзя больше удалять."); } } /** * Функция-проверка на корректный поиск * @param bName текстовое поле для проверки * @throws MyExceptionSearch * @throws NullPointerException */ private void checkName (JTextField bName) throws MyExceptionSearch,NullPointerException { String sName = bName.getText(); if (sName.contains("Название отеля")) throw new MyExceptionSearch(); if (sName.length() == 0) throw new NullPointerException(); } /** * Функция-проверка на корректное удалене строчек таблицы * @param bTable таблица для удаления * @throws MyExceptionDelete */ private void deleteTable (JTable bTable) throws MyExceptionDelete { int iRow = bTable.getRowCount(); if (iRow == 0) throw new MyExceptionDelete(); ((DefaultTableModel)bTable.getModel()).removeRow(0); } |