Partager via


set_unexpected (<exception>)

Génère un nouveau unexpected_handler lorsqu'une exception inattendue est produite.

unexpected_handler 
   set_unexpected( 
      unexpected_handler fnew 
   ) throw( );

Paramètres

  • fnew
    La fonction à appeler lorsqu'une exception inattendue est produite.

Valeur de retour

Adresse du dernier unexpected_handler.

Notes

fnew ne doit pas à être un pointeur null.

La norme C++ exige que unexpected soit appelé lorsqu'une fonction lève une exception qui n'est pas sur sa liste throw. L'implémentation actuelle ne prend pas en charge cela. L'exemple suivant appelle unexpected, qui appelle ensuite unexpected_handler.

Exemple

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

Sortie

My unhandled exception function called.

Configuration requise

En-Tête <exception>

Espace de noms : std

Voir aussi

Référence

<exception>

get_unexpected