_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_mode
błę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ść EINVAL
errno
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.