Когда программа выполняется, может произойти ряд ненормальных условий и ошибок, под названием «исключения». Они могут включать все меньше памяти, ошибок распределения ресурсов и неспособности найти файлы.
Библиотека классов Microsoft Foundation использует схему обработки исключений, которая моделируется тесно один предложенный Комитетом по стандартам ANSI C++. Обработчик исключений необходимо настроить до того, как вызов функции, которые могут возникнуть ненормальная ситуация. Если функция обнаруживает аномальные состояния, он вызывает исключение и управление передается обработчику исключений.
Некоторые макросы, входящие в библиотеки Microsoft Foundation Class создаст обработчики исключений. Ряд других глобальных функций помогают создавать специализированные исключения и завершить программы, при необходимости. Эти макросы и глобальные функции делятся на следующие категории:
Для примеров и более подробные сведения, обратитесь к статье исключения в Руководстве Visual C++ программист.
| ПОПРОБУЙТЕ | Задает блок кода для обработки исключений. |
| УЛОВ | Задает блок кода для отлова исключения из предыдущего блока TRY. |
| CATCH_ALL | Задает блок кода для перехвата всех исключений из предыдущего блока TRY. |
| AND_CATCH | Задает блок кода для ловли типы дополнительных исключений из предыдущего блока TRY. |
| AND_CATCH_ALL | Задает блок кода для перехвата всех остальных дополнительных исключений в блоке TRY предыдущего. |
| END_CATCH | Заканчивает последний блок кода поймать или AND_CATCH. |
| END_CATCH_ALL | Заканчивает последний блок кода CATCH_ALL. |
| БРОСАТЬ | Выдает указанное исключение. |
| THROW_LAST | В настоящее время обрабатываемое исключение генерируется следующий внешний обработчик. |
| AfxThrowArchiveException | Выдает исключение Архив. |
| AfxThrowFileException | Исключение файла. |
| AfxThrowMemoryException | Создает исключение памяти. |
| AfxThrowNotSupportedException | Создает исключение не поддерживается. |
| AfxThrowResourceException | Создает исключение Windows ресурс не найден. |
| AfxThrowUserException | Выдает исключение в инициированные пользователем программы действий. |
MFC предоставляет две функции исключений специально для исключения OLE:
OLE исключение действует
| AfxThrowOleDispatchException | Выдает исключение внутри функции автоматизации OLE. |
| AfxThrowOleException | Выдает исключение OLE. |
Для поддержки базы данных исключения, классы базы данных предоставляют два классы исключений, CDBException и CDaoExceptionи глобальные функции для поддержки типов исключений:
Исключение функции DAO
| AfxThrowDAOException | Выдает CDaoException из вашего собственного кода. |
| AfxThrowDBException | Выдает CDBException из вашего собственного кода. |
MFC предоставляет следующие функции завершения:
| AfxAbort | Вызывается для завершения приложения, когда фатальная ошибка возникает. |
См. также CException