set_terminate (<exception>)
Задает новое terminate_handler, вызываемый на момент завершения программы.
terminate_handler
set_terminate(
terminate_handler fnew
) throw( );
Параметры
- fnew
Функцию вызвать на момент завершения.
Возвращаемое значение
Адрес предыдущей функции, которая использовала вызывать на момент завершения.
Заметки
Функция terminate_handler задает новое как функция *fnew. Таким образом, fnew не должно быть пустым указателем. Функция возвращает адрес предыдущей завершите обработчик.
Пример
// exception_set_terminate.cpp
// compile with: /EHsc
#include <exception>
#include <iostream>
using namespace std;
void termfunction()
{
cout << "My terminate function called." << endl;
abort();
}
int main()
{
terminate_handler oldHandler = set_terminate(termfunction);
// Throwing an unhandled exception would also terminate the program
// or we could explicitly call terminate();
//throw bad_alloc();
terminate();
}
Output
My terminate function called.
Требования
исключение <Заголовок: >
Пространство имен: std