abort
中止当前进程并返回错误代码。
备注
不要使用此方法关闭但在测试的 Windows 应用商店 app,或调试方案。以编程方式或 UI 方法结束 Windows 应用商店 app 不根据第 3.6 部分允许的。windows 8 个 app 身份验证要求有关更多信息,请参见 应用程序在段 (windows 中 apps)。
void abort( void );
返回值
abort 不将控制权返回给调用过程。 默认情况下,终止当前进程并返回退出代码 3。
备注
默认情况下,abort 实例打印消息:
“This application has requested the Runtime to terminate it in an unusual way. Please contact the application's support team for more information.""”
然后调用 raise(SIGABRT)。 这次执行响应 SIGABRT 信号取决于事件仅对前面的该信号定义对 signal 功能。 默认值 SIGABRT 事件是在调用处理以退出代码 3 终止。,将控制权返回给调用进程或操作系统。 abort 不刷新流缓冲区也不执行 atexit/_onexit 处理。
abort 确定根据调用实例应用程序类型的消息的目标。 控件个应用程序通过 stderr始终接收消息。 在单个或多线程的基于 windows 的应用程序,abort 调用 windows MessageBox 函数创建消息框显示包含 确定 按钮的消息。 当用户单击 确定时,程序中止。 消息可通过调用与相应的参数中 _set_abort_behavior 取消。
当应用程序与运行库时的调试版本链接,abort 有三个按钮创建一个消息框:中止、重试和 忽略。 如果用户单击 中止,程序中止。 如果用户单击 重试,调试器将调用,并且用户可以调试程序,则实时 (JIT) 调试启用。 如果用户单击 忽略,abort 继续其正常执行:创建消息框。确定 按钮。
abort 来调用错误报告机制通过向 Microsoft 报告。 此行为可通过调用 _set_abort_behavior禁用。
有关调试的 CRT 的更多信息,请参见 调试技术的 CRT。
要求
实例 |
必需的标头 |
---|---|
abort |
<process.h> 或 <stdlib.h> |
示例
如果尝试失败,下面的过程尝试打开文件并中止。
// crt_abort.c
// compile with: /c
// This program demonstrates the use of
// the abort function by attempting to open a file
// and aborts if the attempt fails.
#include <stdio.h>
#include <stdlib.h>
int main( void )
{
FILE *stream = NULL;
errno_t err = 0;
err = fopen_s(&stream, "NOSUCHF.ILE", "r" );
if ((err != 0) || (stream == NULL))
{
perror( "File could not be opened" );
abort();
}
else
{
fclose( stream );
}
}
.NET Framework 等效项
不适用。若要调用标准 C 函数,请使用 PInvoke。有关更多信息,请参见 平台调用示例。