Compartir a través de


Control de excepciones en Visual C++

Una excepción es una condición de error, posiblemente fuera del control del programa, que evita que el programa continúe a lo largo de la ruta normal de la ejecución.Ciertas operaciones, incluida la creación de objetos, entrada del archivo, y las llamadas de función realizadas de otros módulos, son todas los orígenes posibles de excepciones incluso cuando el programa se ejecuta correctamente.El código robusto espera y controla las excepciones.

Para detectar errores lógicos dentro de un único programa o módulo, aserciones en lugar de excepciones (vea Mediante aserciones).

Visual C++ admite tres tipos de control de excepciones:

  • control de excepciones de C++

    Para la mayoría de los programas de C++, debe utilizar el control de excepciones de C++, que es seguro y garantiza que los destructores de objeto se invocan durante desenredo de la pila.

  • control de excepciones estructurado

    Fuentes de Windows su propio mecanismo de excepción, denominado SEH.no se recomienda para C++ o la programación de MFC.Utilice SEH sólo en programas de MFC c.

  • excepciones de MFC

    Desde la versión 3,0, MFC ha utilizado las excepciones de C++ pero admite los anteriores macros de control de excepciones, que son similares a las excepciones de C++ en formulario.Aunque estas macros no se recomienda para la nueva programación, todavía se admiten por compatibilidad con versiones anteriores.En los programas que utilizan ya las macros, puede utilizar libremente las excepciones de C++ también.Durante el procesamiento, las macros evalúan a las palabras clave de control de excepciones definidas en la implementación de Visual C++ del lenguaje C++ a partir de la versión 2,0 de Visual C++.Puede dejar macros existentes de la excepción en el sitio mientras empieza a utilizar las excepciones de C++.

Utilice la opción de compilador /EH de especificar el tipo de control de excepciones para usar en un proyecto; El control de excepciones de C++ es el valor predeterminado.No mezcle los mecanismos de control de errores; por ejemplo, no utilice las excepciones de C++ con SEH.Para el consejo sobre mezclar las macros MFC y excepciones de C++, vea excepciones: Utilizando las macros y C++ Excepciones de MFC.

Para obtener información sobre cómo administrar las excepciones en las aplicaciones de CLR, vea Control de excepciones con /clr.

Para obtener información sobre el control de excepciones en los procesadores x64, vea Control de excepciones (x64).

Vea también

Otros recursos

Referencia del lenguaje C++