abort
在头文件<stdlib.h>中定义 | | |
---|---|---|
void abort(void); | | (直到C11) |
_Noreturn void abort(void); | | (自C11以来) |
除非SIGABRT
被传递给signal的信号处理程序捕获并且处理程序不返回,否则会导致程序异常终止。
传递给atexit()的函数不会被调用。 是否关闭文件等开放资源是实现定义的。 实现定义的状态返回到指示不成功执行的主机环境。
参数
(none).
返回值
(none).
例
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
FILE *fp = fopen("data.txt","r");
if (fp == NULL) {
fprintf(stderr, "error opening file data.txt in function main()\n");
abort();
}
/* Normal processing continues here. */
fclose(fp);
printf("Normal Return\n");
return 0;
}
输出:
error opening file data.txt in function main()
参考
- C11标准(ISO / IEC 9899:2011):
- 7.22.4.1中止功能(p:350)
- C99标准(ISO / IEC 9899:1999):
- 7.20.4.1中止功能(p:315)
- C89 / C90标准(ISO / IEC 9899:1990):
- 4.10.4.1中止功能
扩展内容
exit | 导致正常程序终止并清理(功能) |
---|---|
atexit对 | 注册要在exit()调用(函数)上调用的函数 |
quick_exit(C11) | 导致正常程序终止而没有完全清理(功能) |
| 用于中止的C ++文档|
本文档系腾讯云开发者社区成员共同维护,如有问题请联系 cloudcommunity@tencent.com