共用方式為


_set_error_mode

修改 __error_mode 判斷 C 執行階段會將可能會關閉程式的錯誤寫入錯誤訊息的非預設的位置。

重要

這個應用程式開發介面不能用於 Windows 執行階段 中執行的應用程式。如需詳細資訊,請參閱 /ZW 不支援 CRT 函式

int _set_error_mode(
   int modeval 
);

參數

  • modeval
    錯誤訊息的目的地。

傳回值

如果發生錯誤,則傳回舊設定或 -1。

備註

藉由設定 __error_mode的值控制錯誤輸出接收。 例如,您可以將輸出導向至標準錯誤或使用 MessageBox 應用程式開發介面。

這個 modeval 參數可以設定為下列其中一個值:

參數

說明

_OUT_TO_DEFAULT

錯誤接收取決於__app_type。

_OUT_TO_STDERR

錯誤接收是標準錯誤。

_OUT_TO_MSGBOX

錯誤接收是訊息方塊。

_REPORT_ERRMODE

報告目前 __error_mode 值。

如果傳入除了所列的以外的值,則會叫用無效的參數處理常式,如 參數驗證中所述。 如果允許繼續執行, _set_error_mode 會設定 errno 為 EINVAL 並回傳 -1 。

當它與 assert 一同使用時, _set_error_mode 會在對話方塊顯示失敗的陳述式並讓您選擇 Ignore 按鈕的選取,因此您可以繼續執行程式。

需求

常式

必要的標頭

_set_error_mode

<stdlib.h>

範例

// crt_set_error_mode.c
// compile with: /c
#include <stdlib.h>
#include <assert.h>

int main()
{
   _set_error_mode(_OUT_TO_STDERR);
   assert(2+2==5);
}
  

請參閱

參考

assert (CRT)