Cuando se ejecuta un programa, puede producirse una serie de condiciones anormales y errores llamados "excepciones". Estas pueden incluir quedarse sin memoria, errores de asignación de recursos y fracaso para buscar archivos.
La biblioteca Microsoft Foundation Class utiliza un esquema de control de excepciones que es modelado estrechamente uno propuesto por el Comité de estándares ANSI para C++. Debe configurar un controlador de excepción antes de llamar a una función puede encontrarse con una situación anormal. Si la función detecta una condición anormal, produce una excepción y control se pasa al controlador de excepciones.
Varias macros incluidas en la biblioteca Microsoft Foundation Class establecerá los controladores de excepciones. Un número de otras funciones globales ayuda a producir excepciones especializados y terminar programas, si es necesario. Estas macros y funciones globales se dividen en las siguientes categorías:
Para obtener más detalles y ejemplos, vea el artículo excepciones en la Guía del programador de Visual C++.
| INTENTE | Designa un bloque de código para procesamiento de excepciones. |
| CAPTURAS | Designa un bloque de código para capturar una excepción en el bloque TRY anterior. |
| CATCH_ALL | Designa un bloque de código para capturar todas las excepciones en el bloque TRY anterior. |
| AND_CATCH | Designa un bloque de código para la captura de los tipos de excepción adicional desde el bloque TRY anterior. |
| AND_CATCH_ALL | Designa un bloque de código para la captura de todos los demás tipos adicional de la excepción en un bloque TRY anterior. |
| END_CATCH | Termina el último bloque de código CATCH o AND_CATCH. |
| END_CATCH_ALL | Termina el último bloque de código CATCH_ALL. |
| TIRO | Produce una excepción especificada. |
| THROW_LAST | Inicia la excepción actualmente manejada para el siguiente controlador externo. |
Funciones de tirar de excepción
| AfxThrowArchiveException | Produce una excepción de archivo. |
| AfxThrowFileException | Produce una excepción de archivo. |
| AfxThrowMemoryException | Produce una excepción de memoria. |
| AfxThrowNotSupportedException | Produce una excepción no compatible. |
| AfxThrowResourceException | Produce una excepción de recurso no encuentra Windows. |
| AfxThrowUserException | Produce una excepción en la acción de una programa iniciado por el usuario. |
MFC proporciona dos funciones arrojando excepción específicamente para excepciones de OLE:
Funciones de excepción OLE
| AfxThrowOleDispatchException | Produce una excepción dentro de una función de automatización OLE. |
| AfxThrowOleException | Produce una excepción de OLE. |
Para admitir excepciones de base de datos, las clases de base de datos proporcionan dos clases de excepción CDBException y CDaoExceptiony funciones globales para apoyar los tipos de excepción:
Funciones de excepción de DAO
| AfxThrowDAOException | Produce un CDaoException de su propio código. |
| AfxThrowDBException | Produce un CDBException de su propio código. |
MFC proporciona la siguiente función de terminación:
| AfxAbort | Llamado a terminar una aplicación cuando un error fatal se produce. |
Vea tambié&nnbsp;CException