terminate (CRT)
Aufrufe abort oder Funktion, die Sie mit set_terminate angeben.
void terminate( void );
Hinweise
Die terminate-Funktion wird der mit behandelnden C++-Ausnahme verwendet und ist in den folgenden Fällen aufgerufen:
Ein entsprechender catch-Handler kann nicht für eine ausgelöste C++-Ausnahme gefunden werden.
Eine Ausnahme wird durch einer Destruktorfunktion während der Stapelentladung ausgelöst.
Der Stapel ist beschädigt, nachdem der eine Ausnahme ausgelöst hat.
Aufrufe terminate standardmäßig abort. Sie können diese Standardeinstellung ändern, indem Sie die eigene Beendigungsfunktion schreiben und set_terminate mit dem Namen der Funktion als Argument aufrufen. terminate ruft die letzte Funktion angegeben set_terminate als Argument auf. Weitere Informationen finden Sie unter Nicht behandelte C++-Ausnahmen.
Anforderungen
Routine |
Erforderlicher Header |
---|---|
terminate |
<eh.h> |
Zusätzliche Informationen zur Kompatibilität finden Sie unter Kompatibilität in der Einführung.
Beispiel
// 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);
}
.NET Framework-Entsprechung
Nicht zutreffend. Mit PInvoke rufen Sie die Standard-C-Funktion auf. Weitere Informationen finden Sie unter Beispiele für Plattformaufrufe.