Freigeben über


Beenden Sie (CRT)

Aufrufe abort oder eine Funktion, die mit set_terminateangeben.

void terminate( void );

Hinweise

Die terminate-Funktion wurde mit der C++-Ausnahmebehandlung behandelnden verwendet und wird in den folgenden Fällen aufgerufen:

  • Ein entsprechender catch-Handler kann nicht für eine ausgelöste C++-Ausnahmebehandlung gefunden werden.

  • Eine Ausnahme wird von einer Funktion zum Entladen von Destruktor bei der Stapel ausgelöst.

  • Der Stapel ist beschädigt, nachdem er eine Ausnahme ausgelöst hat.

terminate Aufrufe abort standardmäßig.Sie können diese Standardeinstellung ändern, indem Sie das Feature für Kündigungs, Schreiben und set_terminate mit dem Namen der Funktion als Argument besitzen aufrufen.terminate ruft die letzte Funktion als Argument angegeben set_terminate.Weitere Informationen finden Sie unter Nicht behandelte C++-Ausnahmen.

Anforderungen

Routine

Erforderlicher Header

terminate

<eh.h>

Um Kompatibilität zusätzlichen Informationen 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. Um die Standard-C-Funktion aufrufen, verwenden Sie PInvoke. Weitere Informationen finden Sie unter Plattformaufruf-Beispiele.

Siehe auch

Referenz

Ausnahmebehandlungs-Routinen

Abbruch

_set_se_translator

set_terminate (CRT)

set_unexpected (CRT)

unerwartet (CRT)