Microsoft Visual C++ и MFC. Программирование для Win95 и WinNT


Исключения (класс CException)


Для реализации механизма исключений в MFC определен специальный класс CException, наследованный от базового класса CObject. Все исключения, определенные в MFC, наследуются от этого класса. Вот список классов, наследованных от CException и их краткое описание. Более полное описание классов, связанных с исключениями, вы можете найти в разделе “Исключения - класс CException” главы “Вспомогательные классы MFC”.



Класс

Описание

CArchiveException

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

CDaoException

Ошибка при работе с базами данных (при использовании классов DAO)

CDBException

Ошибка при работе с базами данных (при использовании ODBC)

CFileException

Ошибка, связанная с файловой системой

CMemoryException

Недостаточно оперативной памяти

CNotSupportedException

Попытка выполнить неопределенную операцию

COleDispatchException, COleException

Ошибка OLE

CResourceException

Не найден ресурс

CUserException

Ошибка приложения, вызванная действиями пользователя


Обработчик исключения может выполнять различные действия в зависимости от того какое исключение и в каком контексте было вызвано. Для этого вы можете использовать методы и данные из объекта, переданного в обработчик исключения.

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

Класс

Исключение вызывается

CMemoryException

При распределении оперативной памяти

CFileException

При работе с файлами

CArchiveException

Во время записи или восстановления объектов (Archive/Serialization)

CNotSupportedException

При обращении к неизвестный метод, который не поддерживается данным классом

CResourceException

Ошибка при работе с ресурсами Windows

CDaoException

Ошибка при работе с базами данных, через средства DAO

CDBException

Ошибка при работе с базами данных, через средства ODBC

COleException

Ошибка при работе OLE

COleDispatchException

Ошибка при работе OLE

CUserException

При обработке этого исключения на экране отображается сообщение, а затем вызывается исключение CException

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


Содержание раздела