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

Лаба 5

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

Министерство науки и высшего образования Российской Федерации Федеральное государственное автономное образовательное учреждение высшего образования

«ТОМСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ СИСТЕМ УПРАВЛЕНИЯ И РАДИОЭЛЕКТРОНИКИ» (ТУСУР)

Кафедра комплексной информационной безопасности электронно-вычислительных систем (КИБЭВС)

ГЕНЕРИРОВАНИЕ И ОБРАБОТКА ИСКЛЮЧИТЕЛЬНЫХ СИТУАЦИЙ

Отчет по лабораторной работе №5

по дисциплине «Языки программирования»

Студент гр. 723-1

________

__.__.2025

Руководитель

Преподаватель каф. КИБЭВС

_______ А.В. Куртукова

__.__.2025

Введение

Целью данной лабораторной работы является изучение различных видов исключительных ситуаций и методов их обработки.

Задачи:

1. Изучить механизмы подпрограмм, их описание и вызовы, а также особенности передачи параметров в подпрограммы для языка программирования C#;

2. Разработать программу, генерирующую исключительную ситуацию, и обрабатывающую вызванное исключение;

3. Доработать написанную программу, применив схему обработки исключительных ситуаций Б. Мейера.

ХОД РАБОТЫ

1. Программа, генерирующая и обрабатывающая исключительные ситуации

На рисунке 1.1 представлена программа, где был описан обработчик исключения при делении числа на ноль и при делении на пустое значение. Если найдено деление на 0 или null – запускаем исключение. На рисунках 1.2-1.4 представлены возможные варианты работы программы.

Рисунок 1.1 – Программа на C#

Рисунок 1.2 – Деление на 0

Рисунок 1.3 – Ввод символа

Рисунок 1.4 – Ввод числа

Листинг программного кода представлен в приложении А.

2 Программа с применением схемы Б. Мейера

На рисунке 2.1 представлена программа, где был описан обработчик исключения при проверке числа. На рисунке 2.2 представлены возможные варианты работы программы.

Рисунок 2.1 – Программа на C#

Рисунок 2.2 – Результат работы программы с применением схемы Б. Мейера

Листинг программного кода представлен в приложении Б.

Заключение

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

Приложение А

using System;

public class Program

{

    public static void Main(string[] args)

    {

        // Программа до применения схемы Б. Мейера

        Console.Write("Введите число: ");

        string inp = Console.ReadLine();

        try

        {

            int number = int.Parse(inp);

            int result = 100 / number;

            Console.WriteLine("Результат: " + result);

        }

        catch (FormatException)

        {

            Console.WriteLine("Некорректный ввод!");

        }

        catch (DivideByZeroException)

        {

            Console.WriteLine("Делить на ноль нельзя!");

        }

        catch (Exception ex)

        {

            Console.WriteLine($"Произошла непредвиденная ошибка: {ex.Message}");

        }

    }

}

Приложение Б

using System;

public class Program

{

    public static void Main(string[] args)

    {

        // Программа после применения схемы Б. Мейера

        bool success = false;

        while (!success)

        {

            try

            {

                Console.Write("Введите число: ");

                string inp = Console.ReadLine();

                int number = int.Parse(inp);

                if (number == 0)

                {

                    throw new ArgumentException("Число не должно быть равно нулю");

                }

                int result = 100 / number;

                Console.WriteLine("Результат: " + result);

                success = true;

            }

            catch (ArgumentException exception)

            {

                Console.WriteLine("Ошибка: " + exception.Message);

                Console.WriteLine("Попробуйте снова");

            }

            catch (FormatException)

            {

                Console.WriteLine("Ошибка: Некорректный ввод.");

                Console.WriteLine("Попробуйте снова");

            }

            catch (Exception exception)

            {

                Console.WriteLine("Ошибка: " + exception.Message);

                Console.WriteLine("Попробуйте снова");

            }

        }

        Console.WriteLine("Программа завершена");

    }

}

Томск 2025

Соседние файлы в предмете Языки программирования