Составители:
Рубрика:
8.2. Средства обработки исключений в языках C/C++
Блок программного кода всегда должен начинаться ключевыми словами
try и catch, предоставляемыми компиляторами Microsoft C/C++. Причем блок
try помечает фрагмент программы, который может породить исключение, а
блок catch содержит программу, запускающуюся при наличии исключения. С
точки зрения программиста подобные синтаксические структуры удобны для
отделения программного кода, предназначенного для обработки исключитель-
ных ситуаций, от кода, выполняющего обычные задачи.
В MFC реализован механизм обработки исключений, который основан на
схеме, предложенной ANSI-комитетом по стандартизации языка C++.
В соответствии с этой схемой перед вызовом функции, которая может стать
причиной возникновения исключительной ситуации, должен быть иницииро-
ван обработчик исключений. Если функция приводит к возникновению ненор-
мальной ситуации, генерируется исключение, и управление передается обра-
ботчику.
В среде Visual C++ обработка исключений поддерживается с помощью
нескольких механизмов:
– функций, обеспечивающих структурированную обработку исключений;
– классов, отвечающих за обработку определенных типов исключений;
– макрокоманд, позволяющих осуществить структуризацию обработчи-
ков исключений приложения;
– функций, предназначенных для генерации исключений различных типов.
Все эти механизмы позволяют генерировать исключения нужных типов и
при необходимости прекращать выполнение программы.
Основу любого механизма обработки исключений в среде Visual C++ со-
ставляют операторы try и catch. Структура try/catch отделяет подпрограмму
обработки исключения от программного кода, который выполняется в нор-
мальных ситуациях:
try // начало блока try
{
< операторы основной программы > // код, в котором могут
// генерироваться исключения
}
catch(< фильтр >) // начало блока обработки исключений
{
< код подпрограммы обработки исключений > // код, который
// выполняется при наличии исключения
}…
В любой своей реализации механизм структурированной обработки ис-
ключений связывает блок защищаемого программного кода с подпрограммой
обработки исключений. Если исключение происходит при выполнении защи-
108
8.2. Средства обработки исключений в языках C/C++
Блок программного кода всегда должен начинаться ключевыми словами
try и catch, предоставляемыми компиляторами Microsoft C/C++. Причем блок
try помечает фрагмент программы, который может породить исключение, а
блок catch содержит программу, запускающуюся при наличии исключения. С
точки зрения программиста подобные синтаксические структуры удобны для
отделения программного кода, предназначенного для обработки исключитель-
ных ситуаций, от кода, выполняющего обычные задачи.
В MFC реализован механизм обработки исключений, который основан на
схеме, предложенной ANSI-комитетом по стандартизации языка C++.
В соответствии с этой схемой перед вызовом функции, которая может стать
причиной возникновения исключительной ситуации, должен быть иницииро-
ван обработчик исключений. Если функция приводит к возникновению ненор-
мальной ситуации, генерируется исключение, и управление передается обра-
ботчику.
В среде Visual C++ обработка исключений поддерживается с помощью
нескольких механизмов:
– функций, обеспечивающих структурированную обработку исключений;
– классов, отвечающих за обработку определенных типов исключений;
– макрокоманд, позволяющих осуществить структуризацию обработчи-
ков исключений приложения;
– функций, предназначенных для генерации исключений различных типов.
Все эти механизмы позволяют генерировать исключения нужных типов и
при необходимости прекращать выполнение программы.
Основу любого механизма обработки исключений в среде Visual C++ со-
ставляют операторы try и catch. Структура try/catch отделяет подпрограмму
обработки исключения от программного кода, который выполняется в нор-
мальных ситуациях:
try // начало блока try
{
< операторы основной программы > // код, в котором могут
// генерироваться исключения
}
catch(< фильтр >) // начало блока обработки исключений
{
< код подпрограммы обработки исключений > // код, который
// выполняется при наличии исключения
}…
В любой своей реализации механизм структурированной обработки ис-
ключений связывает блок защищаемого программного кода с подпрограммой
обработки исключений. Если исключение происходит при выполнении защи-
108
Страницы
- « первая
- ‹ предыдущая
- …
- 106
- 107
- 108
- 109
- 110
- …
- следующая ›
- последняя »
