_set_error_mode

修改 __error_mode 来确定C 运行时写可能关闭程序的错误的错误消息的非默认的位置。

重要

此 API 不能用于在 Windows 运行时 中执行的应用程序。有关更多信息,请参见不支持 /ZW 的 CRT 函数

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

请参见

参考

assert (CRT)