
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