Отладка и тестирование приложений в среде Visual Studio 2005. Евсеева О.Н - 21 стр.

UptoLike

Составители: 

21
вать один из catch-блоков, соответствующий типу исключения. В C/C++ при-
меняются две такие схемы. Одна из нихсхема с возобновлениемсоответст-
вует так называемым структурным, или С-исключениям. Вторая схемабез во-
зобновлениясоответствует С++ исключениям. В первой схеме обработчик
исключенияcatch-блоквозвращает управление в некоторую точку try-блока.
Во второй схеме управление не возвращается в try-блок.
1.3.2. Схема обработки исключений в C#
Язык C# наследовал схему исключений языка С++, внеся в нее свои кор-
рективы. Рассмотрим схему подробнее и начнем с синтаксиса конструкции try-
catch-finally:
try {...}
catch (T1 e1) {...}
...
catch(Tk ek) {...}
finally {...}
Всюду в тексте модуля, где синтаксически допускается использование
блока, этот блок можно сделать охраняемым, добавив ключевое слово try.
Вслед за try-блоком могут следовать catch-блоки, называемые блоками-
обработчиками исключительных ситуаций, их может быть несколько, они мо-
гут и отсутствовать. Завершает эту последовательность finally-блокблок за-
вершения (финализации), который также может отсутствовать. Вся эта конст-
рукция может быть вложеннойв состав try-блока может входить конструкция
try-catch-finally.
Выбрасывание исключений. Создание объектов Exception
В теле try-блока может возникнуть исключительная ситуация, приводя-
щая к выбрасыванию исключений. Формально выбрасывание исключения про-
исходит при выполнении оператора throw. Этот оператор, чаще всего, выполня-
ется в недрах операционной системы, когда система команд или функция API
не может сделать свою работу. Но этот оператор может быть частью программ-
ного текста try-блока и выполняться, когда в результате проведенного анализа
становится понятным, что дальнейшая нормальная работа невозможна.
Синтаксически оператор throw имеет вид:
throw[выражение]
Выражение throw задает объект класса, являющегося наследником класса
Exception. Обычно это выражение new, создающее новый объект. Если оно от-
сутствует, то повторно выбрасывается текущее исключение. Если исключение
выбрасывается операционной системой, то она сама классифицирует исключе-
ние, создает объект соответствующего класса и автоматически заполняет его
поля.