Класс CException
Базовый класс для всех исключений в библиотеки Microsoft Foundation Class.
class AFX_NOVTABLE CException : public CObject
Члены
Открытые конструкторы
Имя |
Описание |
---|---|
Создает объект CException. |
Открытые методы
Имя |
Описание |
---|---|
Удаляет объект CException. |
|
Информирует сообщение об ошибке в окне сообщения пользователю. |
Заметки
Поскольку CException абстрактный базовый класс нельзя создать напрямую, объекты CException необходимо создать объекты производных классов.Если необходимо создать собственное CException- вставка класс стилей, используйте один из производных классов, перечисленных выше, что и у модели.Убедитесь, что производный класс также используется IMPLEMENT_DYNAMIC.
Производные классы и их описания перечислены ниже:
Базовый класс для ресурс-критических исключений MFC |
|
Условия исключения несостоятельного довода |
|
Исключение нехватки памяти |
|
Запрос неподдержанной операции |
|
Исключение, характерное для Архив- |
|
Исключение, характерное для Файл- |
|
Ресурс не найден или не создаваемыми Windows |
|
OLE исключение |
|
Исключение базы данных (то есть условия исключения, вызвавшего классы баз данных MFC на основе ODBC) |
|
Исключение диспетчера () OLE automation |
|
Исключение, указывающее, что ресурс не удалось найти |
|
Исключения объекта доступа к данным (то есть условия исключения, полученные для классов DAO) |
|
Исключение Интернета (то есть условия исключения для классов, поступающие через интернет). |
Эти исключения предназначены для использования с макросами 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.
Иерархия наследования
CException
Требования
Header: afx.h
См. также
Ссылки
Другие ресурсы
Инструкции: Создайте мои собственные пользовательские классы исключений?