terminate (CRT)
Çağrı abort veya bir işlev kullanarak belirtmeniz set_terminate.
void terminate( void );
Notlar
terminate İşlevi ile C++ özel durum işleme kullanılır ve aşağıdaki durumlarda verilir:
Bir catch iþleyicisi thrown C++ özel durum için bulunamıyor.
Özel durum yığın açılımı sırasında yıkıcı işlevi tarafından atılır.
Bir özel durum üretiliyor sonra yığını bozuk.
terminateÇağrı abort varsayılan olarak.Kendi sonlandırma işlevi yazmak ve çağırmak bu varsayılanı değiştirmek set_terminate bağımsız olarak işlevinizin adını taşıyan.terminatebağımsız değişken olarak verilen son işlevini çağırır set_terminate.Daha fazla bilgi için bkz: İşlenemeyen C++ özel.
Gereksinimler
Yordamı |
Gerekli başlık |
---|---|
terminate |
<eh.h> |
Ek uyumluluk bilgileri için bkz: Uyumluluk giriş.
Örnek
// 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 Eşdeğeri
Yoktur. Standart c işlevi çağırmak için kullanmak PInvoke. Daha fazla bilgi için bkz: Platform Çağırma örnekleri.