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


Класс CException

Базовый класс для всех исключений в библиотеки Microsoft Foundation Class.

class AFX_NOVTABLE CException : public CObject

Члены

yx1b5f5w.collapse_all(ru-ru,VS.110).gifОткрытые конструкторы

Имя

Описание

CException::CException

Создает объект CException.

yx1b5f5w.collapse_all(ru-ru,VS.110).gifОткрытые методы

Имя

Описание

CException::Delete

Удаляет объект CException.

CException::ReportError

Информирует сообщение об ошибке в окне сообщения пользователю.

Заметки

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

Производные классы и их описания перечислены ниже:

CSimpleException

Базовый класс для ресурс-критических исключений MFC

CInvalidArgException

Условия исключения несостоятельного довода

CMemoryException

Исключение нехватки памяти

CNotSupportedException

Запрос неподдержанной операции

CArchiveException

Исключение, характерное для Архив-

CFileException

Исключение, характерное для Файл-

CResourceException

Ресурс не найден или не создаваемыми Windows

COleException

OLE исключение

CDBException

Исключение базы данных (то есть условия исключения, вызвавшего классы баз данных MFC на основе ODBC)

COleDispatchException

Исключение диспетчера () OLE automation

CUserException

Исключение, указывающее, что ресурс не удалось найти

CDaoException

Исключения объекта доступа к данным (то есть условия исключения, полученные для классов DAO)

CInternetException

Исключение Интернета (то есть условия исключения для классов, поступающие через интернет).

Эти исключения предназначены для использования с макросами THROW, THROW_LAST, ПОПЫТКА, CATCH, AND_CATCH и END_CATCH.Дополнительные сведения об исключениях см. в разделе Обработка исключений или в статье Обработка исключений (MFC).

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

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

Если исключение перехватывается одним из макросов, то объект CException удаление автоматически; не удаляйте его самостоятельно.Если исключение перехватывается с помощью ключевого слова catch, оно автоматически не удалено.См. статью Обработка исключений (MFC) дополнительные сведения о том, когда удалять объект exeption.

Иерархия наследования

CObject

CException

Требования

Header: afx.h

См. также

Ссылки

Класс CObject

Диаграмма иерархии

Другие ресурсы

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

Инструкции: Создайте мои собственные пользовательские классы исключений?