Программирование >>  Элементы языков с и с++ 

1 ... 170 171 172 [ 173 ] 174 175 176 ... 200


private: System: :Void textBoxl KeyDown(System: :ОЬзес sender, i System:: Windows:: Forms: : KeyEventArgs e)

Обработка нажатия <Enter> if(e->KeyCode == Keys::Enter) I

this->buttonl->Focus 0;

Г private: System: : Void Forml Shown (System: :Object sender, System: :EventArgs e)

/Установка фокуса ввода на ввод адреса при первом появлении формы

на экране*/ this->textBoxl->Focus О ;

Режим дизайна

Ве аиге аарвс и нажмите <Eriei>

л Ul



Вееаите шрес и нажмите <ЕгЛео

Ма2 5а215/

[ HetTTH

Adies

2

dTaCataSel CSTeandngScurce 1Щ1в11вЫвА()а ег ylTe n4r*4av4 of РеЖИМ ИСПОЛНеНИЯ

Рис. 12.25. Формы приложения для примера 2



Глава 13


Управление

[исключительными ситуациями

процессе исполнения приложений могут возникнуть так называемые ис-I ключения (исключительные ситуации)- это аномальные явления, (например, деление на ноль, превышение размерности массивов и т. п.), которые требуют от программы определенной реакции. И в этом случае либо вы в программе как-то реагируете на отклонения от нормального режима, либо система сама отреагирует: обработает по-своему такую ситуацию, выдаст вам сообщение и, как правило, завершит выполнение программы. В таких случаях желательно не дожидаться реакции системы и самому предпринимать необходимые меры, т. е. управлять возникающими в процессе решения вашей I задачи проблемами.

Язык С++ обеспечивает в этом смысле встроенную поддержку для обработки возникающих исключений. Управление обработкой исключений состоит в реакции программы на возникновение неожидаемых ею событий. Кроме специальных операторов, перехватывающих исключения, существует особый 1 класс System:: Exceptions, Содержащий необходимые свойства и методы, помогающие обрабатывать исключительные ситуации. Например, в классе имеется свойство Message, содержащее описание возникшего исключения, ми свойство Source, содержащее имя источника (приложения или объекта), где возникла ошибка. Можно воспользоваться свойством HelpLink, которое выдаст вам ссылку на соответствующий Help-файл, описывающий возникаю ситуацию, или свойством HResult, в котором находится числовой код возникшей ошибки.

В С++ процесс обработки исключительных ситуаций состоит в возникновении (говорят в выбрасывании - throwing) ситуаций и в последующем их захвате (catching) для обработки.



Операторы try, catch и throw

с помощью этих операторов и обрабатываются исключительные ситуации. Синтаксис объявления этих операторов таков:

try {

здесь находится участок программы, в котором могут возникнуть исключительные ситуации

[ catch {объявление исключения) { .

операторы для обработки возникшего в try-блоке исключения

*/ .

[catch (объявление исключения) {

операторы, обрабатывающие другой тип исключения }]...]

throw выражение

Оператор throw выбрасывает для последующей обработки возникающее исключение.

Тело оператора catch - это фактически и есть обработчик исключения. Исключение выбрасывается оператором throw, захватывается оператором catch и в его теле обрабатывается. Объявление исключения в операторе catch определяет тип исключения, которое станет обрабатываться в catch. Этим типом может служить конкретный тип данного, определенный в языке, в том числе и класс. Если в объявлении исключения задано многоточие (...), то это означает, что оператор catch станет обрабатывать любой тип возникающего исключения. Такой catch должен быть последним в try-блоке. По синтаксису вы заметили, что блоков catch может быть более одного: если вы хотите отлавливать конкретные исключения, то сформируйте для каждого из них свой catch, в котором задайте тип обрабатываемого исключения.



1 ... 170 171 172 [ 173 ] 174 175 176 ... 200

© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки.
Яндекс.Метрика