Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Ä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_mode
errno
auf EINVAL
und gibt -1 zurück.
Wenn sie mit einer assert
verwendet 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.