Sdílet prostřednictvím


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

Viz také

assert Macro, _assert, _wassert