Condividi tramite


set_terminate (<exception>)

Crea un nuovo terminate_handler da chiamare alla chiusura del programma.

terminate_handler 
   set_terminate( 
      terminate_handler fnew 
   ) throw( );

Parametri

  • fnew
    La funzione da chiamare alla chiusura.

Valore restituito

L'indirizzo della funzione precedente in cui si ha chiamato alla chiusura.

Note

La funzione stabilisce un nuovo terminate_handler come la funzione *fnew. Perciò, fnew non deve essere un puntatore null. La funzione restituisce l'indirizzo del precedente gestore di terminazione.

Esempio

// 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();
}

Output

My terminate function called.

Requisiti

Header: <exception>

Spazio dei nomi: std

Vedere anche

Riferimenti

<exception>

get_terminate