лабы / лаба 10 прога
.docx
Ф
ЕДЕРАЛЬНОЕ
АГЕНСТВО ВОЗДУШНОГО ТРАНСПОРТА
(РОСАВИАЦИЯ)
ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ
«МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ ГРАЖДАНСКОЙ АВИАЦИИ» (МГТУ ГА)
Кафедра вычислительных машин, комплексов, систем и сетей.
Лабораторная работа защищена с оценкой ____________________
____________________
(подпись преподавателя, дата)
ЛАБОРАТОРНАЯ РАБОТА №10
по дисциплине «Программирование».
Вариант №17
Тема: «Обработка типовых исключений. Исключения типа стандартных данных, исключения - классы.»
Выполнила студентка группы ИС 1-1
Магальник Екатерина Борисовна
Руководитель: Белозуб Юлия Валерьевна
МОСКВА – 2023
2.1. Цель лабораторной работы
Целью лабораторной работы является получение навыков программирования с использованием механизма обработки исключительных ситуаций.
2.2 Задание на выполнение лабораторной работы
Провести анализ работы программного кода и обработку возможных ошибок (исключительных ситуаций) с использованием механизма исключений в соответствии с вариантом задания. Контролировать вводимую информацию. Вывести в стандартный поток результат обработки исключительных ситуаций. Предусмотреть также вывод имени функции, в которой произошла ошибка.
Текст программы:
#include <iostream> using namespace std;
/*Определить в программе класс Vector – динамический массив, в котором ограничивается количество запрашиваемой памяти. В конструкторе класса должно выбрасываться исключение, если запрашиваемый объем памяти больше максимально возможного. Обработку исключения провести в конструкторе.*/
class Vector { public: enum { max = 3200 }; Vector(int mmax) { try { if (mmax > max) throw 1; if (mmax <= 0) throw 2; p = new int[mmax]; cout << "Created array with " << mmax << " elements " << endl; } catch (int x) { if (x == 1) cout << mmax << " is bigger than need" << endl; if (x == 2) cout << mmax << " is unavalable size of array" << endl; } } ~Vector() { delete[] p; } protected: int* p=0; };
int main() { Vector a(4); Vector b(100); Vector c(-1); Vector d(0); } |
Результат работы программы:
