Поделиться через


Обработка исключений

Когда программа выполняет несколько анормалных, вызываемых условия ошибок «и» могут возникнуть исключения.Они могут включать штрих из памяти, ошибки выделения ресурсов и сбоев поиска файлов.

Библиотеки Microsoft Foundation Class использует схему обработки ошибок, моделирована ближайшего после одного предлагаемого Комитетом по стандартам ANSI для C++.Обработчик исключений должен быть установлен до вызова функции, которая может возникнуть применительно к данному типу не является нормальной ситуация.Если функция обнаруживает анормалное состояние, она вызывает исключение и элемент управления передается в обработчик исключений.

Количество макросов, входящих в состав библиотеки Microsoft Foundation Class позволяют настраивать обработчики исключений.Несколько других глобальных функций, помогающие создавать специальные исключения и выполнения программы, если это необходимо.Эти макросы и глобальные функции делятся на следующие категории:

  • макросы исключения, структура обработчика исключений.

  • Исключение-бросая функции, создающие исключения определенных типов.

  • Функции завершения, вызывают завершение программы.

Примеры и дополнительные сведения см. в статье Исключения.

Макросы исключения

TRY

Указывает блок кода для обработки исключения.

CATCH

Указывает блок кода для перехвата исключения из предыдущего блока TRY.

CATCH_ALL

Указывает блок кода для перехвата всех исключений из предыдущего блока TRY.

AND_CATCH

Указывает блок кода для перехвата дополнительных типов исключений из предыдущего блока TRY.

AND_CATCH_ALL

Указывает блок кода для перехвата все другие дополнительные типы исключений, созданных в предыдущем блок TRY.

END_CATCH

Завершается последней CATCH или блока кода AND_CATCH.

END_CATCH_ALL

Завершает последний блок кода CATCH_ALL.

THROW

Создает указанное исключение.

THROW_LAST

Создает в настоящее время обрабатывается исключение к следующему внешнему обработчику.

Исключение-Бросая функции

AfxThrowArchiveException

Выдает исключение архива.

AfxThrowFileException

Выдает исключение файла.

AfxThrowMemoryException

Выдает исключение памяти.

AfxThrowNotSupportedException

Создает не-поддержанное исключение.

AfxThrowResourceException

Вызывает исключение ресурс-не-нахоженное окнами.

AfxThrowUserException

Формирует исключение в пользователь-начатой действии программы.

MFC предоставляет 2 исключение-бросая функции специально для ЯВЛЯЕТСЯ исключений.

Функции OLE исключения

AfxThrowOleDispatchException

Выдает исключение внутри функции ole-автоматизации.

AfxThrowOleException

Создает ЯВЛЯЕТСЯ исключение.

Для поддержки исключения базы данных, классы базы данных предоставляют 2 классов исключений, CDBException и CDaoException и глобальные функции для поддержки типы исключений.

Функции исключения DAO

AfxThrowDAOException

Создает CDaoException из собственного кода.

AfxThrowDBException

Создает CDBException из собственного кода.

MFC предоставляет следующие функции завершения.

Функции завершения

AfxAbort

Вызывается для выполнения приложения при возникновении неустранимой ошибки.

См. также

Ссылки

Класс CException

Основные понятия

Макросы и глобальные MFC