Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
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ść 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
#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.