Обработка исключений
Если программы, несколько анормалных вызываемых условия и ошибок «исключения» могут возникать. Они могут включать нехватка памяти, ошибки выделения ресурсов и сбоев поиска файлов.
Библиотеки Microsoft Foundation Class использует схему обработки исключений, которая была смоделирована тесно после одного Комитетом предложенного по стандартам ANSI C для C++. Обработчик исключений необходимо настроить до вызова функции, которая может столкнуться при возникновении нестандартной ситуации. Если функция обнаруживает анормальное состояние, она создает исключение и элемент управления передается обработчик исключений.
Несколько макросов, входящих в состав библиотеки Microsoft Foundation Class настраивают обработчиков исключений. Несколько других глобальных функций позволяют создавать специализированные исключения и для выполнения программы, соответственно. Эти макросы и глобальные функции можно разделить на следующие категории.
Макросы исключения структура, обработчик исключений.
исключения при порождении функции, создают исключения определенных типов.
Функции завершения, который вызывает завершение работы программы.
Дополнительные сведения и примеры см. в статье Исключения.
Макросы исключения
Указывает блок кода обработки исключений. |
|
Указывает блок кода для перехвата исключения из предыдущего блока TRY. |
|
Указывает блок кода для перехвата всех исключений из предыдущего блока TRY. |
|
Указывает блок кода для перехвата дополнительных типов исключений из предыдущего блока TRY. |
|
Указывает блок кода для перехвата все другие дополнительные типы исключений, предшествующий в блок TRY. |
|
Завершает последние CATCH или блок кода AND_CATCH. |
|
Завершает последний блок кода CATCH_ALL. |
|
Создает конкретное исключение. |
|
Создает в данный момент обработанного исключения следующему внешнему обработчику. |
Исключения при порождении функции
Создает исключение архива. |
|
Создает исключение файла. |
|
Создает исключение памяти. |
|
Выдает неподдерживаемое исключение. |
|
Создает исключение, ресурс-не- Windows. |
|
Создает исключение в действии пользователем начатом программы. |
MFC предоставляет 2 при порождении исключения функции специально для исключений OLE:
Функции исключения OLE
Создает исключение внутри функции ole-автоматизации. |
|
Создает исключение OLE. |
Для поддержки исключения баз данных классы базы данных предоставляют 2 классы исключений, CDBException и CDaoException и глобальной функции для поддержки типов исключений.
Функции исключения DAO
Создает исключение CDaoException из собственного кода. |
|
Создает исключение CDBException из собственного кода. |
MFC предоставляет следующие возможности завершения.
Функции завершения
Вызывается при завершении приложения, когда произошла неустранимая ошибка. |