_set_error_mode

Modyfikuje __error_mode w celu określenia lokalizacji innej niż domyślna, w której środowisko uruchomieniowe języka C zapisuje komunikat o błędzie, który może zakończyć program.

Ważne

Tego interfejsu API nie można używać w aplikacjach wykonywanych w środowisko wykonawcze systemu Windows. Aby uzyskać więcej informacji, zobacz Funkcje CRT nieobsługiwane w aplikacjach platforma uniwersalna systemu Windows.

Składnia

int _set_error_mode(
   int mode_val
);

Parametry

mode_val
Miejsce docelowe komunikatów o błędach.

Wartość zwracana

Zwraca stare ustawienie lub -1, jeśli wystąpi błąd.

Uwagi

Steruje ujściem danych wyjściowych __error_modebłędu, ustawiając wartość . Możesz na przykład kierować dane wyjściowe do standardowego błędu lub użyć interfejsu MessageBox API.

Parametr mode_val można ustawić na jedną z następujących wartości.

Wartość Opis
_OUT_TO_DEFAULT Ujście błędu jest określane przez .__app_type
_OUT_TO_STDERR Ujście błędu jest standardowym błędem.
_OUT_TO_MSGBOX Ujście błędu jest polem komunikatu.
_REPORT_ERRMODE Zgłoś bieżącą __error_mode wartość.

Jeśli wartość jest przekazywana w innych niż wymienione, wywoływana jest nieprawidłowa procedura obsługi parametrów, zgodnie z opisem w temacie Weryfikacja parametrów. Jeśli wykonywanie jest dozwolone do kontynuowania, _set_error_mode ustawia wartość EINVALerrno i zwraca wartość -1.

Gdy jest używany z elementem assert, _set_error_mode wyświetla instrukcję, która zakończyła się niepowodzeniem w oknie dialogowym, i daje opcję wybrania przycisku Ignoruj , aby można było kontynuować uruchamianie programu.

Wymagania

Procedura Wymagany nagłówek
_set_error_mode <stdlib.h>

Przykład

// 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);
}
Assertion failed: 2+2==5, file crt_set_error_mode.c, line 8

This application has requested the Runtime to terminate it in an unusual way.
Please contact the application's support team for more information.

Zobacz też

assert Macro, _assert, _wassert