std::set_terminate — cppreference.com
Материал из cppreference.com
<tbody> </tbody> <tbody class="t-dcl-rev "> </tbody><tbody> </tbody>
| Определено в заголовочном файле |
||
|
|
(до C++11) | |
|
|
(начиная с C++11) | |
Делает f новой глобальной функцией обработчиком завершения и возвращает ранее установленный std::terminate_handler. f должна завершить выполнение программы, не возвращаясь к вызывающей программе, в противном случае поведение не определено.
|
Эта функция является потокобезопасной. Каждый вызов |
(начиная с C++11) |
Параметры
| f | — | указатель на функцию типа std::terminate_handler или нулевой указатель |
Возвращаемое значение
Ранее установленный обработчик завершения или нулевое значение указателя, если он не был установлен.
Пример
#include <iostream> #include <cstdlib> #include <exception> int main() { std::set_terminate([](){ std::cout << "Необработанное исключение\n" << std::flush; std::abort(); }); throw 1; }
Возможный вывод:
Необработанное исключение bash: line 7: 7743 Aborted (core dumped) ./a.out