CException

CException — базовый класс для всех исключений в библиотеки Microsoft Foundation Class. Ниже перечислены производные классы и их описания:

CMemoryException Исключения из памяти
CNotSupportedException Запрос на недопустимую операцию
CArchiveException Архив конкретного исключения
CFileException Исключение файлов конкретного
CResourceException Ресурс не найден или не создаваемым Windows
COleException OLE исключение
CDBException База данных exceptio&nnbsp; (то есть, условия исключения, возникающие для MFC базы данных классов на основе Open Database Connectivity)
COleDispatchException OLE направить исключение (автоматизации)
CUserException Исключение, которое указывает, что ресурс не найден
CDaoException Исключение объектов доступа к данным (то есть, условия исключения, возникающие для классов DAO)
CInternetException Интернет исключение (то есть, условия исключения, возникающие для классов Интернет).

Эти исключения предназначены для использования с БРОСИТЬ, THROW_LAST, попробуйте, поймать, AND_CATCHи END_CATCH макросов. Для получения дополнительных сведений об исключениях, см. Обработка исключений, или обратитесь к статье исключения в Руководстве Visual C++ программист.

Чтобы поймать определенное исключение, используйте соответствующий производный класс. Чтобы перехватывать все типы исключений, использовать CException, а затем использовать CObject::IsKindOf для различения CException-производные классы. Обратите внимание, что CObject::IsKindOf работает только для классов, объявленные с макро- IMPLEMENT_DYNAMIC , с тем чтобы воспользоваться преимуществами проверки динамических типов. Любой CException-производный класс, который вы создаете следует использовать макрос IMPLEMENT_DYNAMIC , тоже.

Вы можете сообщить подробные сведения об исключениях для пользователей путем вызова GetErrorMessage или ReportError, две функции-члены, которые работают с любым из производных классов CException.

Исключение будет перехвачено один из макросов, CException объект автоматически удаляется; не удаляйте его сами. Если исключение будет перехвачено с помощью ключевого слова catch , он не удаляется автоматически. В статье исключений в Visual C++ программиста руководство для получения дополнительных сведений о том, когда для удаления объекта изъятие.

CException — абстрактный базовый класс. Нельзя создавать объекты CException ; необходимо создать объекты производных классов. Если вам нужно создать собственный тип CException , используйте один из производных классов, перечисленных выше как модель. Убедитесь, что ваш производный класс также использует IMPLEMENT_DYNAMIC.

# include lt;afx.h>

Члены класса |nbsp; Базовый класс | Иерархическая схема

Пример  СЛЕЗОТОЧИВЫЙ образца MFC

См. также Обработка исключений

Index