set_unexpected (<exception>)
Establece un nuevo unexpected_handler cuando se encuentra una excepción inesperada.
unexpected_handler
set_unexpected(
unexpected_handler fnew
) throw( );
Parámetros
- fnew
Función a la que se llamará cuando se encuentre una excepción inesperada.
Valor devuelto
Dirección del unexpected_handler anterior.
Comentarios
fnew no debe ser un puntero null.
El estándar de C++ requiere que se llame a unexpected cuando una función inicie una excepción que no está en su lista de excepciones. La implementación actual no lo admite. En el ejemplo siguiente se llama a unexpected directamente, que llama a unexpected_handler.
Ejemplo
// 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
}
Salida
My unhandled exception function called.
Requisitos
Encabezado: <exception>
Espacio de nombres: std