C++ Reference: Standard C++ Library reference: C Library: cstdlib: abort

C++官网参考链接:https://cplusplus.com/reference/cstdlib/abort/

函数 
<cstdlib>
abort
C
void abort (void);
C++11
[[noreturn]] void abort() noexcept;
终止当前进程
终止当前进程,产生异常的程序终止。
该函数触发SIGABRT信号(就像调用了raise(SIGABRT)一样)。如果未被捕获,将导致程序终止,并向宿主环境返回一个与平台相关的不成功终止错误代码。
程序在不破坏任何对象的情况下终止,也不调用传递给atexitat_quick_exit的任何函数。

形参
没有形参。 

返回值
没有返回值(函数从不返回)。

用例
/* abort example */
#include <stdio.h>      /* fopen, fputs, fclose, stderr */
#include <stdlib.h>     /* abort, NULL */

int main ()
{
  FILE * pFile;
  pFile= fopen ("myfile.txt","r");
  if (pFile == NULL)
  {
    fputs ("error opening file\n",stderr);
    abort();
  }

  /* regular process here */

  fclose (pFile);
  return 0;

如果myfile.txt不存在,则打印一条消息并调用abort。

数据竞争
同时调用此函数是安全的,不会导致数据竞争。
但是请注意,它的处理过程可能会影响所有线程。

异常(C++) 
如果没有使用signal定义函数处理程序来处理SIGABRT,则该函数永远不会抛出异常(无抛出保证)。
否则,行为取决于特定的库实现。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

weixin_40186813

你的能量无可限量。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值