abort - C++ Builder

C++ Builder 参考手册<cstdlib>abort


头文件:#include <cstdlib>
命名空间:std
函数原型:

void abort(void);

参数:

无。

返回值:

无。

  • 程序异常结束,通知操作系统程序由于有错误而结束,并且显示程序异常结束的提示信息;
  • abort 函数是通过调用 exit(3); 实现的;
  • C++ Builder 的 System::Sysutils 里面有一个 Abort 函数,是抛出 EAbort 异常,与这个函数的功能不同,虽然只是函数名的开头字母大小写不同。
  • 无论在程序的哪个位置调用了 std::abort 函数,程序都会异常结束,没有任何析构函数被调用,包括全局变量的析构函数。

以下表格为程序测试结果:

退出时执行的函数 执行 std::abort 执行 std::exit
使用 std::atexit 添加的函数 [ ] [√]
使用 Sysutils::AddExitProc 添加的函数 [ ] [√]
使用 Sysutils::AddTerminateProc 添加的函数 [ ] [ ]
使用 #pragma exit 添加的函数 [ ] [√]
当前函数局部变量的析构函数 [ ] [ ]
主窗口析构函数 [ ] [√]
全局变量析构函数 [ ] [√]

例子:

void __fastcall TForm1::Button1Click(TObject *Sender)
{
    std::abort();
}

运行结果:

运行结果 std::abort 程序异常结束

相关:


C++ Builder 参考手册<cstdlib>abort