abort

来自cppreference.com
< c‎ | program
定义于头文件 <stdlib.h>
void abort(void);
(C11前)
_Noreturn void abort(void);
(C11起)

导致程序异常终止,除非传递给signal的信号处理捕捉到了SIGABRT,且该处理不返回。

传递给atexit()的函数不会被调用。是否关闭打开的资源,例如文件,是实现定义的。指明执行不成功的实现定义状态会被返回给宿主环境。

目录

[编辑] 参数

(无)

[编辑] 返回值

(无)

[编辑] 示例

#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();
    }
 
    /* 正常进程延续至此。 */
    fclose(fp);
    printf("Normal Return\n");
    return 0;
}

输出:

error opening file data.txt in function main()

[编辑] 参考

  • C11 standard (ISO/IEC 9899:2011):
  • 7.22.4.1 The abort function (p: 350)
  • C99 standard (ISO/IEC 9899:1999):
  • 7.20.4.1 The abort function (p: 315)
  • C89/C90 standard (ISO/IEC 9899:1990):
  • 4.10.4.1 The abort function

[编辑] 参阅

引发正常的程序终止并清理
(函数) [edit]
注册一个函数使其在调用exit()时被调用
(函数) [edit]
引发正常的程序终止但不完全清理
(函数) [edit]
abortC++文档