Добавил:
t.me Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

2 семестр / Условие. Исключение

.docx
Скачиваний:
2
Добавлен:
16.07.2023
Размер:
21.13 Кб
Скачать

Лаб№13 Исключения

Дополнить порожденный класс, полученный в задаче на наследование, проверками на исключительные ситуации. Условия задач прежние (ЛР7,8 Наследование).

Требуется создать дополнительный класс для обработки исключений в следующих ситуациях:

Индивидуальные задания

Задача

Ввод размеров двумерного массива (введена буква или отрицательное число). Проверка допустимости индекса элемента.

Проверка ввода элементов матрицы. Проверка введенного размера массива на четность (обрабатывать только матрицы четного размера).

Генерировать исключение, если в матрице нет нулевых элементов. Выдавать ошибку при попытке ввода отрицательных или нулевых значений размеров матрицы с повторным вводом.

Вводимые значения матрицы должны попадать в диапазон [F-T,F+T], где T>0 вводится. Генерировать исключение при сортировке строки, если в ней встречаются одинаковые числа.

Вводимые значения координат точек должны быть в пределах от -300 до 300. Генерировать исключения при попытке ввода нечисловых значений.

Ввод размеров двумерного массива. Проверка допустимости индекса вводимой строки.

Попытка ввода неположительных значений радиуса и высоты. Попытка доступа к данным цилиндра с неверным индексом (индекс строки).

Попытка доступа к элементу с неверными индексами. Попытка ввода номера строк для обмена вне допустимых границ.

Попытка ввода символа вместо числа. Попытка ввести неположительное число при вводе радиуса.

Попытка ввода размеров двумерного массива меньше нуля. Проверка допустимости индексов элемента.

Проверка попытки ввода неправильного номера строки. Генерировать исключение при попытке ввода нуля в матрицу.

Попытка ввода нечисловых значений матрицы. Проверка допустимости введенных номеров строки и столбца.

Попытка ввода не целого числа (считывается строка и переводится в целое). Генерировать исключение при упорядочивании строки, если в ней есть одинаковые элементы.

Проверка введенных размеров матрицы. Генерировать исключение при упорядочивании строки, если в ней есть одинаковые элементы.

Проверка допустимости индексов элемента матрицы. Генерировать исключение, если в матрице нет ни одного положительного элемента.

Попытка ввода не целого числа (считывается строка и переводится в целое). Генерировать исключение, если в столбце над главной диагональю все элементы одинаковые.

Проверка введенных размеров матрицы. Генерировать исключение, если матрица треугольная (над главной диагональю все элементы равны нулю).

Попытка доступа к элементу с неверными индексами. Генерировать исключение, если в столбце все элементы нулевые.

Генерировать исключение, если в матрице нет положительных элементов или нет отрицательных элементов. Попытка доступа к элементу по неверному индексу.

Дополнительно по исключениям читаем:

  1. Павловская, с.222 (Обработка исключительных ситуаций)

  2. УП Надейкиной, с.74 (Исключения). Лежит на Я.Диске в папке «Почитать». Прямая ссылка https://disk.yandex.ru/i/uEs7NxRvBnglsQ

  3. https://youtu.be/wCUl7yTHWq8 #SimpleCode

Плюс другие видео с канала.

Вопросы для контроля:

  1. Общая схема посылки и обработки исключений.

  2. Какие типы принимают обработчики исключений? В какой последовательности перечислять их в записи?

  3. Что может быть передано оператором throw при возникновении ошибки?