_set_error_mode
__error_mode を変更し、プログラムを停止する可能性があるエラーのエラー メッセージを C ランタイムが書き込む既定以外の場所を指定します。
int _set_error_mode(
int modeval
);
パラメーター
- modeval
エラー メッセージの出力先。
戻り値
以前の設定が返されます。エラーが発生した場合は、-1 を返します。
解説
__error_mode の値を設定することによって、エラー出力シンクを制御します。 たとえば、出力先として、標準エラーへの直接出力や、MessageBox API の使用を指定できます。
modeval パラメーターは、次のいずれかの値に設定できます。
パラメーター |
説明 |
---|---|
_OUT_TO_DEFAULT |
エラー シンクを __app_type で指定します。 |
_OUT_TO_STDERR |
エラー シンクを標準エラー出力にします。 |
_OUT_TO_MSGBOX |
エラー シンクをメッセージ ボックスにします。 |
_REPORT_ERRMODE |
現在の __error_mode 値を報告します。 |
上記以外の値が渡された場合は、「パラメーターの検証」に説明されているように、無効なパラメーター ハンドラーが呼び出されます。 実行の継続が許可された場合、 _set_error_mode は errno を EINVAL に設定し、-1 を返します。
assert と一緒に使用すると、_set_error_mode は失敗したステートメントをダイアログ ボックスに表示します。このダイアログ ボックスの [Ignore] をクリックすると、プログラムの実行を続行できます。
必要条件
ルーチン |
必須ヘッダー |
---|---|
_set_error_mode |
<stdlib.h> |
使用例
// crt_set_error_mode.c
// compile with: /c
#include <stdlib.h>
#include <assert.h>
int main()
{
_set_error_mode(_OUT_TO_STDERR);
assert(2+2==5);
}