terminate (CRT)
Llamadas abort o una función especificada mediante set_terminate.
void terminate( void );
Comentarios
La función de terminate se utiliza con el control de excepciones de C++ y se denomina en los casos siguientes:
Un controlador coincidente de captura no se encuentra para una excepción de C++.
Una excepción se produce por una función destructora durante pila desenredo.
El montón está dañado después de que se produzca una excepción.
llamadas abort determinate de forma predeterminada. Puede cambiar este valor predeterminado escribiendo dispone de la función de finalización y llamando set_terminate con el nombre de la función como argumento. terminate llama a la función última especificada como argumento a set_terminate. Para obtener más información, vea Excepciones de C++ no controlados.
Requisitos
Rutina |
Encabezado necesario |
---|---|
terminate |
<eh.h> |
Para obtener información adicional de compatibilidad, vea Compatibilidad en la Introducción.
Ejemplo
// 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);
}
Equivalente en .NET Framework
No es aplicable Para llamar a la función estándar de C, use PInvoke. Para obtener más información, vea Ejemplos de invocación de plataforma.