Freigeben über


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

Siehe auch

<exception>
get_unexpected