set_terminate

提供: RAD Studio
移動先: 案内検索

except.h:インデックス への移動


ヘッダーファイル

except.h

構文

typedef void (*terminate_handler)();

terminate_handler set_terminate(terminate_handler t_func);

説明

set_terminate を使用して,例外のハンドラを検出できなかった場合のプログラムの終了動作を定義する関数をインストールできます。アクションは t_func で定義されます。これは,terminate_handler 型の関数として宣言されます。terminate_handler 型は except.h で定義されており,引数がなく,void を返す関数です。

デフォルトでは,例外のハンドラを検出できなかった場合,プログラムは terminate 関数を呼び出します。通常は,これによって abort 関数が呼び出されます。プログラムは,異常終了のメッセージを表示して終了します。terminate 関数で abort 以外の関数を呼び出す場合は,独自の t_func 関数を定義する必要があります。独自の t_func 関数は,set_terminate によって terminate 関数としてインストールされます。t_func をインストールすると,abort 関数では行われない任意のアクションを実装できます。

戻り値

前回 set_terminate に渡された関数が戻り値になります。

定義により,t_func はプログラムを終了する必要があります。このユーザー定義関数から呼び出し側の terminate 関数に戻ってはなりません。呼び出し側に戻ろうとした場合のプログラム動作は未定義です。これもエラーになり,t_func は例外を送出します。