_set_error_mode
Modificare __error_mode
per determinare una posizione non predefinita in cui il runtime C scrive un messaggio di errore per un errore che potrebbe terminare il programma.
Importante
Non è possibile usare questa API nelle applicazioni eseguite in Windows Runtime. Per altre informazioni, vedere Funzioni CRT non supportate nelle app della piattaforma UWP (Universal Windows Platform).
Sintassi
int _set_error_mode(
int mode_val
);
Parametri
mode_val
Destinazione dei messaggi di errore.
Valore restituito
Restituisce la precedente impostazione o -1 se si verifica un errore.
Osservazioni:
Controlla il sink di output di errore impostando il valore di __error_mode
. Ad esempio, è possibile indirizzare l'output a un errore standard o usare l'API MessageBox
.
Il parametro mode_val
può essere impostato su uno dei valori seguenti.
valore | Descrizione |
---|---|
_OUT_TO_DEFAULT |
Il sink di errore è determinato da __app_type . |
_OUT_TO_STDERR |
Il sink di errore è un errore standard. |
_OUT_TO_MSGBOX |
Il sink di errore è una finestra di messaggio. |
_REPORT_ERRMODE |
Segnalare il valore __error_mode corrente. |
Se viene passato un valore diverso da quelli elencati, viene richiamato il gestore di parametri non validi, come descritto in Convalida dei parametri. Se l'esecuzione può continuare, _set_error_mode
imposta errno
su EINVAL
e restituisce -1.
Quando viene usato con un assert
oggetto , _set_error_mode
visualizza l'istruzione non riuscita nella finestra di dialogo e consente di scegliere il pulsante Ignora , in modo che sia possibile continuare a eseguire il programma.
Requisiti
Ciclo | Intestazione obbligatoria |
---|---|
_set_error_mode |
<stdlib.h> |
Esempio
// 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.