
CException es la clase base para todas las excepciones en la biblioteca Microsoft Foundation Class. A continuación se enumeran las clases derivadas y sus descripciones:
| CMemoryException | Excepción de falta de memoria |
| CNotSupportedException | Solicitud de una operación no admitida |
| CArchiveException | Excepción específica de archivo |
| CFileException | Excepción específica de archivo |
| CResourceException | Recursos de Windows no se encuentra o no createable |
| COleException | OLE excepción |
| CDBException | Base de datos exceptio&nnbsp; (es decir, las condiciones de excepción que surgen para MFC database clases basadas en Open Database Connectivity) |
| COleDispatchException | OLE despachar excepción (automatización) |
| CUserException | Excepción que indica que no se pudo encontrar un recurso |
| CDaoException | Excepción de objeto (es decir, condiciones de excepción derivadas de las clases DAO) de acceso a datos |
| CInternetException | Excepción de Internet (es decir, condiciones de excepción que surgen para clases de Internet). |
Estas excepciones están pensadas para ser usados con el tirar, THROW_LAST, probar, capturas, AND_CATCHy END_CATCH macros. Para obtener más información sobre las excepciones, consulte Procesamiento de excepcióno consulte el artículo excepciones en la Guía del programador de Visual C++.
Para detectar una excepción específica, utilice la clase derivada adecuada. A captura todos los tipos de excepciones, utilice CExceptiony, a continuación, CObject::IsKindOf para diferenciar entre CException-las clases derivadas. Tenga en cuenta que CObject::IsKindOf funciona sólo para las clases declaradas con la macro IMPLEMENT_DYNAMIC , a fin de aprovechar las ventajas de la verificación de tipos dinámicos. Cualquier CException-clase derivada que cree debe utilizar la macro IMPLEMENT_DYNAMIC , demasiado.
Puede informar detalles sobre las excepciones al usuario llamando GetErrorMessage o ReportError, dos funciones miembro que funcionan con cualquiera de las clases derivadas de CException.
Si una excepción es capturada por una de las macros, el objeto CException es eliminado automáticamente; no elimine lo mismo. Si una excepción es capturada mediante la palabra clave atrapar , no se eliminará automáticamente. Consulte el artículo excepciones en Visual C++ del programador: Guía para obtener más información acerca de cuándo eliminar un objeto de excepción.
CException es una clase base abstracta. No se puede crear objetos CException ; se deben crear objetos de clases derivadas. Si necesita crear su propio tipo de CException , utilice una de las clases derivadas mencionadas como modelo. Asegúrese de que la clase derivada también utiliza IMPLEMENT_DYNAMIC.
# include lt;afx.h>
Miembros de la clase |nbsp; Clase base | Diagrama de jerarquía
Muestra Ejemplo de MFC TEAR
Vea tambié&nnbsp;Procesamiento de excepciones