set_terminate (<exception>)
Establece un nuevo terminate_handler al que se llamará cuando finalice el programa.
terminate_handler
set_terminate(
terminate_handler fnew
) throw( );
Parámetros
- fnew
Función a la que se va a llamar en la finalización.
Valor devuelto
Dirección de la función anterior al a que se solía llamar en la finalización.
Comentarios
La función establece un nuevo terminate_handler como la función *fnew. Por tanto, fnew no debe ser un puntero null. La función devuelve la dirección del controlador de finalización anterior.
Ejemplo
// exception_set_terminate.cpp
// compile with: /EHsc
#include <exception>
#include <iostream>
using namespace std;
void termfunction()
{
cout << "My terminate function called." << endl;
abort();
}
int main()
{
terminate_handler oldHandler = set_terminate(termfunction);
// Throwing an unhandled exception would also terminate the program
// or we could explicitly call terminate();
//throw bad_alloc();
terminate();
}
Salida
My terminate function called.
Requisitos
Encabezado: <exception>
Espacio de nombres: std