set_unexpected (<exception>)
Veröffentlicht: Juli 2016
Richtet ein neues unexpected_handler ein, das bei einer unerwarteten Ausnahme auftritt.
Syntax
unexpected_handler
set_unexpected(
unexpected_handler fnew
) throw( );
Parameter
- fnew
Die Funktion, die bei einer unerwarteten Ausnahme aufgerufen wird.
Rückgabewert
Die Adresse des vorherigen unexpected_handler-Elements.
Hinweise
fnew darf kein NULL-Zeiger sein.
Für den C++-Standard ist es erforderlich, dass unexpected aufgerufen wird, wenn eine Funktion eine Ausnahme auslöst, die nicht auf der Auslöseliste aufgeführt wird. Die augenblickliche Implementierung unterstützt das nicht. Im folgenden Beispiel ruft unexpected direkt auf, woraufhin unexpected_handler aufgerufen wird.
Beispiel
// exception_set_unexpected.cpp
// compile with: /EHsc
#include <exception>
#include <iostream>
using namespace std;
void uefunction()
{
cout << "My unhandled exception function called." << endl;
terminate(); // this is what unexpected() calls by default
}
int main()
{
unexpected_handler oldHandler = set_unexpected(uefunction);
unexpected(); // library function to force calling the
// current unexpected handler
}
Ausgabe
My unhandled exception function called.
Anforderungen
Header: <exception>
Namespace: std