set_terminate (CRT)

 

Para obtener la documentación más reciente de Visual Studio 2017 RC, consulte Documentación de Visual Studio 2017 RC.

Instala su propia rutina de finalización al llamar a terminate.

terminate_function set_terminate(  
   terminate_function termFunction  
);  

Parámetros

termFunction
Puntero a una función de finalización que se escribe.

Devuelve un puntero a la función anterior registrada por set_terminate para que la función anterior se puede restaurar más adelante. Si no se ha establecido ninguna función anterior, el valor devuelto puede utilizarse para restaurar el comportamiento predeterminado; Este valor puede ser NULL.

El set_terminate función instala termFunction como la función llamada a terminate. set_terminatese utiliza con control de excepciones de C++ y se puede llamar en cualquier punto en el programa antes de que se produce la excepción. terminatellamadas abort de forma predeterminada. Puede cambiar este comportamiento predeterminado escribiendo su propia función de finalización y llamar a set_terminate con el nombre de la función como su argumento. terminatellama a la última función especificada como argumento de set_terminate. Después de realizar ninguna deseado tareas de limpieza, termFunction debe salir del programa. Si no se cierra (si se devuelve a su llamador), abort se llama.

En un entorno multiproceso, finalizar las funciones se mantienen por separado para cada subproceso. Cada nuevo subproceso necesita para instalar su propia función terminate. Por lo tanto, cada subproceso está a cargo de su propio control de terminación.

El terminate_function tipo está definido en el controlador de eventos. H como un puntero a una función definida por el usuario de terminación, termFunction que devuelve void. La función personalizada termFunction puede no toman ningún argumento y no debe devolver al llamador. Si es así, abort se llama. No se puede producir una excepción desde termFunction.

typedef void ( *terminate_function )( );  

System_CAPS_ICON_note.jpg Nota

El set_terminate función sólo funciona fuera del depurador.

Hay una sola set_terminate controlador para todos los vinculados dinámicamente archivos DLL o exe; incluso si se llama a set_terminate el controlador puede ser reemplazado por otra, o puede reemplazar un controlador establecido por otro archivo DLL o EXE.

Esta función no es compatible con /CLR: pure.

RutinaEncabezado necesario
set_terminate<eh.h></eh.h>

Para obtener información adicional de compatibilidad, vea Compatibilidad en la Introducción.

Vea el ejemplo de finalizar.

No es aplicable. Para llamar a la función estándar de C, use PInvoke. Para obtener más información, vea Ejemplos de invocación de plataforma.

Rutinas de control de excepciones
anular
_get_terminate
set_unexpected
Finalizar
inesperado

Mostrar: