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