Программирование в среде Windows, обработка исключительных ситуаций

Страницы работы

Содержание работы

ЛАБОРАТОРНАЯ РАБОТА № 6

Программирование в среде Windows.

Обработка исключительных ситуаций.

6.1. ЦЕЛЬ РАБОТЫ

Овладеть практическими навыками построения надежных программ  в среде Windows.

6.2. ОБЩИЕ ПОЛОЖЕНИЯ

В данной лабораторной работе рассмотрены вопросы  программирования, реализующие механизмы обработки исключений для защиты от ошибок в программах, техника описания исключений в Visual C++, создание своих классов исключений при создании компонентов программного обеспечения.

Исключения предоставляют возможность определить специальные области кода, выполняемые в тех случаях, когда в приложении могут возникнуть ошибки. Типичным примером подобной ситуации является деление на ноль.

Для устранения проблем именно такого типа и предназначены исключения. Механизм ис­ключений позволяет программам сообщать друг другу о возникновении серьезных и неожи­данных проблем. Большинство исключений реализуется в программе тремя следующими фрагментами кода.

•   Блок try отмечает тот участок текста программы, в котором потенциально возможно возникновение ошибки.

•   Блок catch следует непосредственно за блоком try и содержит операторы обработки обнаруженной ошибки.

•   Оператор throw используется для передачи сообщения об ошибке в вызывающую часть программы — принято говорить, что оператор throw выбрасывает исключение.

Механизм, используемый для обработки исключительной ситуации, в действительности чрезвычайно прост. Фрагмент текста программы, в котором могут возникнуть ошибки, следует поместить внутрь блока try. Затем создается блок catch, который будет выполнять функции обработки ошибок. Если в блоке try (или в том фрагменте программы, который вызывается в блоке try), будет сгенерировано исключение (управление будет передано оператору throw), то дальнейшее выполнение блока try немедленно прекратится и программа передаст управ­ление блоку catch.

Одним из источников возникающих ошибок являетсяраспределение памяти. Рассмотрим текст небольшой демон­страционной консольной программы, которая распределяет некоторое количество памяти и затем сразу же ее освобождает. Поскольку выделение памяти может закончиться неудачно, операторы выделения памяти помещены в блок try. Если указатель, возвращаемый после распределения памяти, будет содержать значение NULL, то в блоке try будет вызвано исключение. В данном случае параметром оператора throw (параметром исключения) является строковая константа.

Похожие материалы

Информация о работе