abort - C++ Builder

C++ Builder 參考手冊 ? <cstdlib> ? abort


頭文件:#include <cstdlib>
命名空間:std
函數(shù)原型:

void abort(void);

參數(shù):

無。

返回值:

無。

  • 程序異常結束,通知操作系統(tǒng)程序由于有錯誤而結束,并且顯示程序異常結束的提示信息;
  • abort 函數(shù)是通過調用 exit(3); 實現(xiàn)的;
  • C++ Builder 的 System::Sysutils 里面有一個 Abort 函數(shù),是拋出 EAbort 異常,與這個函數(shù)的功能不同,雖然只是函數(shù)名的開頭字母大小寫不同。
  • 無論在程序的哪個位置調用了 std::abort 函數(shù),程序都會異常結束,沒有任何析構函數(shù)被調用,包括全局變量的析構函數(shù)。

以下表格為程序測試結果:

退出時執(zhí)行的函數(shù) 執(zhí)行 std::abort 執(zhí)行 std::exit
使用 std::atexit 添加的函數(shù) [ ] [√]
使用 Sysutils::AddExitProc 添加的函數(shù) [ ] [√]
使用 Sysutils::AddTerminateProc 添加的函數(shù) [ ] [ ]
使用 #pragma exit 添加的函數(shù) [ ] [√]
當前函數(shù)局部變量的析構函數(shù) [ ] [ ]
主窗口析構函數(shù) [ ] [√]
全局變量析構函數(shù) [ ] [√]

例子:

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

運行結果:

運行結果 std::abort 程序異常結束

相關:


C++ Builder 參考手冊 ? <cstdlib> ? abort

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

友情鏈接更多精彩內容