Partilhar via


Classe CException

A classe base para todas as exceções na biblioteca Microsoft Foundation Class.

class AFX_NOVTABLE CException : public CObject

Comentários

Porque CException é uma classe base abstrata que não é possível criar CException objetos diretamente; você deve criar objetos de classes derivadas. Se você precisar criar sua própria CException-classe de estilo, use uma das classes derivadas listadas acima sistema autônomo um modelo. Certifique-se de que sua classe derivada também usa IMPLEMENT_DYNAMIC.

As classes derivadas e suas descrições abaixo:

CSimpleException

Uma classe base para exceções recursos essenciais do MFC

CInvalidArgException

Condição de exceção de argumento inválido

CMemoryException

Exceção de fora da memória

CNotSupportedException

Solicitação para uma operação sem suporte

CArchiveException

Exceção de arquivar específicos

CFileException

Exceção de arquivo específicos

CResourceException

Recurso do Windows não foi encontrado ou não createable

COleException

Exceção de OLE

CDBException

Exceção de banco de dados (ou seja, condições de exceção decorrentes de classes de banco de dados MFC com base no em aberto Database conectividade)

COleDispatchException

Exceção de despacho (automação) de OLE

CUserException

Exceção que indica que um recurso não pôde ser encontrado

CDaoException

Objeto de exceção (isto é, condições de exceção resultante para classes DAO) de acesso a dados

CInternetException

Exceção de Internet (ou seja, condições de exceção resultante para classes de Internet).

Essas exceções devem ser usados com o THROW, THROW_LAST, TENTE, CATCH, AND_CATCH, and END_CATCH macros.Para obter mais informações em exceções, consulte Processamento de exceção, ou consulte o artigo (MFC) de manipulação de exceções.

Para capturar uma exceção específica, use a classe derivada apropriada.Catch todos os tipos de exceções, use CExceptione, em seguida, use CObject::IsKindOf para diferenciar entre CException-classes derivadas. Observe que CObject::IsKindOf funciona apenas em classes declaradas com a IMPLEMENT_DYNAMIC macro, para usufruir a verificação de tipos dinâmico.Any CException-classe derivada criados por você deve usar o IMPLEMENT_DYNAMIC macro, muito.

Você pode relatar os detalhes sobre exceções para o usuário chamando GetErrorMessage or ReportError, duas funções de membro que trabalhem com qualquer um dos CExceptionde classes derivadas.

Se uma exceção é detectada por uma das macros, o CException objeto é excluído automaticamente; não o exclua por conta própria. Se uma exceção é detectada, usando um catch palavra-chave, não será excluído automaticamente.Consulte o artigo (MFC) de manipulação de exceções para obter mais informações sobre quando excluir um objeto exeption.

Requisitos

Cabeçalho: afx.h

Consulte também

Referência

Classe CObject

Gráfico de hierarquia

Outros recursos

CException membros

Processamento de exceção