ЛАБОРАТОРНАЯ РАБОТА № 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 (параметром исключения) является строковая константа.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.