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

лабы / лаба 10 прога

.docx
Скачиваний:
0
Добавлен:
11.02.2026
Размер:
53.47 Кб
Скачать

Ф ЕДЕРАЛЬНОЕ АГЕНСТВО ВОЗДУШНОГО ТРАНСПОРТА

(РОСАВИАЦИЯ)

ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ

«МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ ГРАЖДАНСКОЙ АВИАЦИИ» (МГТУ ГА)

Кафедра вычислительных машин, комплексов, систем и сетей.

Лабораторная работа защищена с оценкой ____________________

____________________

(подпись преподавателя, дата)

ЛАБОРАТОРНАЯ РАБОТА №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);

}

Результат работы программы:

Соседние файлы в папке лабы