Condividi tramite


set_unexpected (<exception>)

Stabilisce una nuova unexpected_handler quando viene rilevata un'eccezione imprevista.

unexpected_handler 
   set_unexpected( 
      unexpected_handler fnew 
   ) throw( );

Parametri

  • fnew
    La funzione da chiamare quando un'eccezione imprevista viene rilevata.

Valore restituito

L'indirizzo del precedente unexpected_handler.

Note

fnew non deve essere un puntatore null.

Lo standard C++ richiede che venga chiamato unexpected quando una funzione genera un'eccezione che non si trova nella sua lista throw. L'implementazione corrente non lo supporta. Nell'esempio seguente viene chiamato direttamente unexpected, che viene quindi chiamato unexpected_handler.

Esempio

// 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
}

Output

My unhandled exception function called.

Requisiti

Header: <exception>

Spazio dei nomi: std

Vedere anche

Riferimenti

<exception>

get_unexpected