Freigeben über


set_terminate (<exception>)

Richtet ein neues terminate_handler-Element ein, das bei Beendigung des Programms aufgerufen wird.

terminate_handler 
   set_terminate( 
      terminate_handler fnew 
   ) throw( );

Parameter

  • fnew
    Die bei Beendigung aufzurufende Funktion.

Rückgabewert

Die Adresse der vorherigen Funktion, die von bei Beendigung aufgerufen wurde.

Hinweise

Von der Funktion wird ein neues terminate_handler-Element als die Funktion *fnew eingeführt. Daher darf fnew kein NULL-Zeiger sein. Die Funktion gibt die Adresse des vorherigen terminate-Handlers zurück.

Beispiel

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

Ausgabe

My terminate function called.

Anforderungen

Header: <exception>

Namespace: std

Siehe auch

Referenz

<exception>

get_terminate