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