Compartir a través de


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

Vea también

Referencia

<exception>

get_terminate