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