CException

CException é a classe base para Tudo as exceções no Microsoft Foundation Biblioteca de classes. As classes derivadas e suas descrições estão listadas abaixo:

CMemoryException Exceção de falta de memória
CNotSupportedException Pedido para uma operação sem suporte
CArchiveException Exceção arquivamento-específicos
CFileException Exceção arquivo-específicos
CResourceException Recurso do Windows não foi encontrado ou não createable
COleException OLE exceção
CDBException Ba&nco de dados exceptionnbsp; (isto é, condições de exceção decorrente para MFC database classes com base em Open Database Connectivity)
COleDispatchException OLE exceção (automação) de distribuição
CUserException Exceção que indica que um recurso não pôde ser encontrado
CDaoException Exceção de objeto de acesso de dados (ou seja, condições de exceção decorrente para classes DAO)
CInternetException Exceção da Internet (ou seja, condições de exceção decorrente para classes de Internet).

Estas excepções destinam-se a ser usado com o jogar, THROW_LAST, tente, capturar, AND_CATCHe END_CATCH macros. Para obter mais informações sobre exceções, consulte Processamento de exceção, ou consulte o artigo exceções no Guia do programador do Visual C++.

Para capturar uma exceção específica, use a classe derivada apropriada. Captura todos os tipos de exceções, use CExceptione, em seguida, usar CObject:: IsKindOf para diferenciar entre CException-classes derivadas. Anotação que CObject:: IsKindOf funciona apenas para classes declarados com a macro IMPLEMENT_DYNAMIC , para tirar proveito de verificação de tipo dinâmico. Qualquer CException-classe derivada que você cria deve usar a macro IMPLEMENT_DYNAMIC , demasiado.

Você pode relatar detalhes sobre exceções para o usuário chamando GetErrorMessage ou ReportError, duas funções de membro que funcionam com qualquer uma das classes derivadas CExceptiondo.

Se uma exceção é detectada por um das macros, o objeto CException é excluído automaticamente; não excluí-la você mesmo. Se uma exceção é detectada usando uma palavra-chave catch , ele não é excluído automaticamente. Consulte o artigo de exceções em Visual C++ Programmer Guide para obter mais informações sobre quando excluir um objeto de exeption.

CException é uma classe base abstrata. Você não pode criar objetos de CException ; Você deve criar objetos de classes derivadas. Se você precisa criar seu próprio tipo de CException , use uma das classes derivadas listados acima como um modelo. Certifique-se de que sua classe derivada também usa IMPLEMENT_DYNAMIC.

# include lt;afx.h>

Membros da classe |nbsp; Classe base | Gráfico de hierarquia

Amostra  MFC exemplo TEAR

Co&nsulte tambémnbsp;Processamento de exceção

Index