_set_error_mode
__error_mode
Upraví tak, aby určilo jiné než výchozí umístění, kde modul runtime jazyka C zapíše chybovou zprávu pro chybu, která může program ukončit.
Důležité
Toto rozhraní API nelze použít v aplikacích, které se spouští v prostředí Windows Runtime. Další informace najdete v tématu Funkce CRT, které nejsou v aplikacích Univerzální platforma Windows podporované.
Syntaxe
int _set_error_mode(
int mode_val
);
Parametry
mode_val
Cíl chybových zpráv.
Vrácená hodnota
Vrátí staré nastavení nebo -1, pokud dojde k chybě.
Poznámky
Řídí výstupní jímku chyby nastavením hodnoty __error_mode
. Výstup můžete například směrovat na standardní chybu nebo použít MessageBox
rozhraní API.
Parametr mode_val
lze nastavit na jednu z následujících hodnot.
Hodnota | Popis |
---|---|
_OUT_TO_DEFAULT |
Jímka chyby je určena .__app_type |
_OUT_TO_STDERR |
Jímka chyby je standardní chybou. |
_OUT_TO_MSGBOX |
Jímka chyby je okno se zprávou. |
_REPORT_ERRMODE |
Nahlašte aktuální __error_mode hodnotu. |
Pokud je hodnota předána v jiné než uvedené, je vyvolána neplatná obslužná rutina parametru, jak je popsáno v ověření parametru. Pokud je spuštění povoleno pokračovat, _set_error_mode
nastaví errno
hodnotu EINVAL
-1 a vrátí hodnotu -1.
Když se použije s příkazem assert
, _set_error_mode
zobrazí příkaz, který selhal v dialogovém okně, a nabízí možnost zvolit tlačítko Ignorovat , abyste mohli pokračovat ve spuštění programu.
Požadavky
Rutina | Požadovaný hlavičkový soubor |
---|---|
_set_error_mode |
<stdlib.h> |
Příklad
// 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.