Лаб№13 Исключения
Дополнить порожденный класс, полученный в задаче на наследование, проверками на исключительные ситуации. Условия задач прежние (ЛР7,8 Наследование).
Требуется создать дополнительный класс для обработки исключений в следующих ситуациях:
Индивидуальные задания
№ |
Задача |
|
Ввод размеров двумерного массива (введена буква или отрицательное число). Проверка допустимости индекса элемента. |
|
Проверка ввода элементов матрицы. Проверка введенного размера массива на четность (обрабатывать только матрицы четного размера). |
|
Генерировать исключение, если в матрице нет нулевых элементов. Выдавать ошибку при попытке ввода отрицательных или нулевых значений размеров матрицы с повторным вводом. |
|
Вводимые значения матрицы должны попадать в диапазон [F-T,F+T], где T>0 вводится. Генерировать исключение при сортировке строки, если в ней встречаются одинаковые числа. |
|
Вводимые значения координат точек должны быть в пределах от -300 до 300. Генерировать исключения при попытке ввода нечисловых значений. |
|
Ввод размеров двумерного массива. Проверка допустимости индекса вводимой строки. |
|
Попытка ввода неположительных значений радиуса и высоты. Попытка доступа к данным цилиндра с неверным индексом (индекс строки). |
|
Попытка доступа к элементу с неверными индексами. Попытка ввода номера строк для обмена вне допустимых границ. |
|
Попытка ввода символа вместо числа. Попытка ввести неположительное число при вводе радиуса. |
|
Попытка ввода размеров двумерного массива меньше нуля. Проверка допустимости индексов элемента. |
|
Проверка попытки ввода неправильного номера строки. Генерировать исключение при попытке ввода нуля в матрицу. |
|
Попытка ввода нечисловых значений матрицы. Проверка допустимости введенных номеров строки и столбца. |
|
Попытка ввода не целого числа (считывается строка и переводится в целое). Генерировать исключение при упорядочивании строки, если в ней есть одинаковые элементы. |
|
Проверка введенных размеров матрицы. Генерировать исключение при упорядочивании строки, если в ней есть одинаковые элементы. |
|
Проверка допустимости индексов элемента матрицы. Генерировать исключение, если в матрице нет ни одного положительного элемента. |
|
Попытка ввода не целого числа (считывается строка и переводится в целое). Генерировать исключение, если в столбце над главной диагональю все элементы одинаковые. |
|
Проверка введенных размеров матрицы. Генерировать исключение, если матрица треугольная (над главной диагональю все элементы равны нулю). |
|
Попытка доступа к элементу с неверными индексами. Генерировать исключение, если в столбце все элементы нулевые. |
|
Генерировать исключение, если в матрице нет положительных элементов или нет отрицательных элементов. Попытка доступа к элементу по неверному индексу. |
Дополнительно по исключениям читаем:
Павловская, с.222 (Обработка исключительных ситуаций)
УП Надейкиной, с.74 (Исключения). Лежит на Я.Диске в папке «Почитать». Прямая ссылка https://disk.yandex.ru/i/uEs7NxRvBnglsQ
https://youtu.be/wCUl7yTHWq8 #SimpleCode
Плюс другие видео с канала.
Вопросы для контроля:
Общая схема посылки и обработки исключений.
Какие типы принимают обработчики исключений? В какой последовательности перечислять их в записи?
Что может быть передано оператором throw при возникновении ошибки?