#include
<exception>
terminate_handler set_terminate (terminate_handler handler)
Hinterlegt einen Verweis auf die Funktion, die am Ende der Ausnahmebehandlung aufzurufen ist.
Ein terminate_handler
soll die Programmausführung beenden,
ohne zum Aufrufer zurückzukehren. Die Standardfunktion ruft abort().
handler | Adresse einer Funktion |
Die Funktion muss folgenden Typ besitzen:
typedef void (*terminate_handler) ();
Rückgabewert: die Adresse der bisherigen Behandlungsroutine.
#include <exception> #include <iostream> void notstand() { std::cerr << "Das war's.\n"; std::abort(); } int main() { terminate_handler old = std::set_terminate(notstand); // if( ! geht_weiter ) { std::terminate(); } // ... return 0; }