名前空間
変種
操作

std::set_terminate

提供: cppreference.com
< cpp‎ | error
 
 
ユーティリティライブラリ
汎用ユーティリティ
日付と時間
関数オブジェクト
書式化ライブラリ(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)
 
 
ヘッダ <exception> で定義
(C++11未満)
(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();});throw1;}

出力例:

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

[編集]関連項目

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