close
名前空間
変種

std::set_terminate

提供: cppreference.com
 
 
ユーティリティライブラリ
汎用ユーティリティ
日付と時間
関数オブジェクト
書式化ライブラリ (C++20)
(C++11)
関係演算子 (C++20で非推奨)
整数比較関数
(C++20)
スワップと型操作
(C++14)
(C++11)
(C++11)
(C++11)
(C++17)
一般的な語彙の型
(C++11)
(C++17)
(C++17)
(C++17)
(C++17)

初等文字列変換
(C++17)
(C++17)
 
 
<tbody> </tbody> <tbody class="t-dcl-rev "> </tbody><tbody> </tbody>
ヘッダ <exception> で定義
std::terminate_handler set_terminate( std::terminate_handler f ) throw();
(C++11未満)
std::terminate_handler set_terminate( std::terminate_handler f ) noexcept;
(C++11以上)

f を新しいグローバルな終了ハンドラに設定し、以前設定されていた std::terminate_handler を返します。

この関数はスレッドセーフです。 std::set_terminate のすべての呼び出しは後続の std::set_terminate および std::get_terminate に対して同期します (std::memory_order を参照してください)。

(C++11以上)

引数

f - std::terminate_handler 型の関数へのポインタ、またはヌルポインタ

戻り値

以前設定した終了ハンドラ、または何も設定されていなければヌルポインタ値。

#include <iostream>
#include <cstdlib>
#include <exception>
   
int main()
{
    std::set_terminate([](){ std::cout << "Unhandled exception\n"; std::abort();});
    throw 1;
}

出力例:

Unhandled exception
bash: line 7:  7743 Aborted                 (core dumped) ./a.out

関連項目

例外処理が失敗したときに呼ばれる関数
(関数) [edit]
現在の terminate_handler を取得します
(関数) [edit]
std::terminate によって呼ばれる関数の型
(typedef) [edit]