Freigeben über


_set_error_mode

Ändert __error_mode, um einen nicht standardmäßigen Speicherort zu bestimmen, an dem die C-Laufzeit eine Fehlermeldung für einen Fehler schreibt, der das Programm beenden kann.

Wichtig

Diese API kann nicht in Anwendungen verwendet werden, die in Windows-Runtime ausgeführt werden. Weitere Informationen finden Sie im Artikel CRT functions not supported in Universal Windows Platform apps (In Apps für die universelle Windows-Plattform nicht unterstützte CRT-Funktionen).

Syntax

int _set_error_mode(
   int mode_val
);

Parameter

mode_val
Ziel der Fehlermeldungen.

Rückgabewert

Gibt die alte Einstellung oder -1 zurück, wenn ein Fehler auftritt.

Hinweise

Steuert die Fehlerausgabesenke durch Festlegen des Werts von __error_mode. Sie können z. B. die Ausgabe in einen Standardfehler umleiten oder die MessageBox-API verwenden.

Der Parameter mode_val kann auf einen der folgenden Werte festgelegt werden:

Wert Beschreibung
_OUT_TO_DEFAULT Fehlersenke wird durch __app_type bestimmt.
_OUT_TO_STDERR Fehlersenke ist ein Standardfehler.
_OUT_TO_MSGBOX Fehlersenke ist ein Meldungsfeld.
_REPORT_ERRMODE Melden Sie den aktuellen __error_mode-Wert.

Wenn ein Wert außer den aufgelisteten übergeben wird, wird der ungültige Parameterhandler aufgerufen, wie in der Parameterüberprüfung beschrieben. Wenn die weitere Ausführung zugelassen wird, setzt _set_error_modeerrno auf EINVAL und gibt -1 zurück.

Wenn sie mit einer assertverwendet wird, zeigt die Anweisung an, _set_error_mode die im Dialogfeld fehlgeschlagen ist, und bietet Ihnen die Möglichkeit, die Schaltfläche "Ignorieren " auszuwählen, damit Sie das Programm weiterhin ausführen können.

Anforderungen

Routine Erforderlicher Header
_set_error_mode <stdlib.h>

Beispiel

// 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.

Siehe auch

assert Macro, _assert, _wassert