中止当前进程并返回错误代码。
![]() |
---|
不要使用此方法关闭但在测试的 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。有关更多信息,请参见 平台调用示例。