Share via


_set_error_mode

更新 : 2007 年 11 月

__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);
}

Assertion failed: 2+2==5, file crt_set_error_mode.c, line 8

This application has requested the Runtime to terminate it in an unusual way.
Please contact the application's support team for more information.

参照

参照

assert (CRT)