Compartir a través de


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

Vea también

Referencia

<exception>

get_unexpected