terminate (CRT)
Appels abort ou une fonction que vous spécifiez à l'aide de set_terminate.
void terminate( void );
Notes
La fonction d' terminate est utilisée avec la gestion des exceptions C++ et est appelée dans les cas suivants :
Un gestionnaire catch correspondant est introuvable pour la levée d'une exception C++.
Une exception est levée par une fonction destructeur pendant le déroulement de pile.
La pile est endommagée après une levée exception.
appels abort d'terminate par défaut.Vous pouvez modifier cette valeur par défaut en écrivant votre propre fonction d'arrêt et en appelant set_terminate avec le nom de la fonction comme argument.terminate appelle la dernière fonction donnée comme argument à set_terminate.Pour plus d'informations, consultez l' Exceptions non gérées C++.
Configuration requise
routine |
en-tête requis |
---|---|
terminate |
<eh.h> |
Pour des informations de compatibilité supplémentaires, consultez compatibilité dans l'introduction.
Exemple
// crt_terminate.cpp
// compile with: /EHsc
#include <eh.h>
#include <process.h>
#include <iostream>
using namespace std;
void term_func();
int main()
{
int i = 10, j = 0, result;
set_terminate( term_func );
try
{
if( j == 0 )
throw "Divide by zero!";
else
result = i/j;
}
catch( int )
{
cout << "Caught some integer exception.\n";
}
cout << "This should never print.\n";
}
void term_func()
{
cout << "term_func() was called by terminate().\n";
// ... cleanup tasks performed here
// If this function does not exit, abort is called.
exit(-1);
}
Équivalent .NET Framework
Non applicable. Pour appeler la fonction C standard, utilisez PInvoke. Pour plus d'informations, consultez l' exemples d'appel de code non managé.