abort
中止目前的處理序並傳回錯誤碼。
注意事項 |
---|
不要使用這個方法會關閉執行 Windows 市集 應用程式,但測試或偵錯案例。以程式設計方式或 UI 模式結束 Windows 市集 應用程式不會根據第 3.6 節中 Windows 8 應用程式驗證要求啟用。如需詳細資訊,請參閱 應用程式生命週期 (Windows 市集應用程式)。 |
void abort( void );
傳回值
abort 不會將控制項傳回至呼叫程序。根據預設,會結束目前的處理序並傳回結束代碼 3。
備註
根據預設, abort 常式列印訊息:
「This application has requested the Runtime to terminate it in an unusual way. Please contact the application's support team for more information.」。
然後它會呼叫 raise(SIGABRT)。這個動作以回應 SIGABRT 信號決定哪些動作在之前的呼叫之信號已定義了對 signal 函式。預設 SIGABRT 動作是為了呼叫程序可以以結束代碼 3,則傳回控制權傳回給呼叫的處理序或作業系統。abort 不清除資料流緩衝區也不做 atexit/_onexit 處理。
abort 判斷根據呼叫常式應用程式類型的訊息的目的地。主控台應用程式透過 stderr一定會接收訊息。在單一或多執行緒的 Windows 架構應用程式, abort 呼叫 Windows 函式 MessageBox 建立訊息方塊會顯示含有 [OK] 按鈕的訊息。當使用者按一下 [OK] 時,程式會立即結束。訊息可以透過呼叫適當的引數的 _set_abort_behavior 隱藏。
當應用程式使用執行階段程式庫的偵錯版本連接時, abort 會建立有三個按鈕的訊息方塊: [中止]、 [重試] 和 [忽略]。如果使用者按一下 [中止],程式會立即結束。如果使用者按一下 [重試]],偵錯工具呼叫,而且使用者可以偵錯程式,如果 Just-In-Time (JIT) 偵錯已啟用。如果使用者按一下 [忽略], abort 繼續它的正常執行:建立具有 [OK] 按鈕的訊息方塊。
abort 方法也可以叫用錯誤回報機制失敗回報給 Microsoft。這個行為可以透過呼叫 _set_abort_behavior停用。
如需 CRT 偵錯的詳細資訊,請參閱 CRT 偵錯技術。。
需求
程序 |
必要的標頭檔 |
---|---|
abort |
<process.h> 或 <stdlib.h> |
範例
如果嘗試失敗,則下列程式嘗試開啟檔案並中止。
// crt_abort.c
// compile with: /c
// This program demonstrates the use of
// the abort function by attempting to open a file
// and aborts if the attempt fails.
#include <stdio.h>
#include <stdlib.h>
int main( void )
{
FILE *stream = NULL;
errno_t err = 0;
err = fopen_s(&stream, "NOSUCHF.ILE", "r" );
if ((err != 0) || (stream == NULL))
{
perror( "File could not be opened" );
abort();
}
else
{
fclose( stream );
}
}
.NET Framework 對等用法
不適用。若要呼叫標準 C 函式,請使用 PInvoke。如需更多的資訊,請參閱 Platform Invoke Examples 。