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