_set_error_mode
Modifica __error_mode
para determinar um local não padrão em que o runtime C grava uma mensagem de erro para um erro que pode finalizar o programa.
Importante
Esta API não pode ser usada em aplicativos executados no Windows Runtime. Para obter mais informações, confira Funções do CRT sem suporte em aplicativos da Plataforma Universal do Windows.
Sintaxe
int _set_error_mode(
int mode_val
);
Parâmetros
mode_val
Destino das mensagens de erro.
Valor retornado
Retornará a configuração antiga ou -1 se ocorrer um erro.
Comentários
Controla o coletor de saída de erro configurando o valor de __error_mode
. Por exemplo, você pode direcionar a saída para um erro padrão ou usar a API MessageBox
.
O parâmetro mode_val
é definido para um dos valores a seguir.
Valor | Descrição |
---|---|
_OUT_TO_DEFAULT |
O coletor de erros é determinado por __app_type . |
_OUT_TO_STDERR |
O coletor de erros é um erro padrão. |
_OUT_TO_MSGBOX |
O coletor de erros é uma caixa de mensagem. |
_REPORT_ERRMODE |
Relate o valor de __error_mode atual. |
Se um valor for passado diferente dos listados, o manipulador de parâmetro inválido será invocado, conforme descrito em Validação de parâmetro. Se a execução puder continuar, _set_error_mode
define errno
para EINVAL
e retorna -1.
Quando usado com um assert
, _set_error_mode
exibe a instrução que falhou na caixa de diálogo e oferece a opção de escolher o botão Ignorar , para que você possa continuar a executar o programa.
Requisitos
Rotina | Cabeçalho necessário |
---|---|
_set_error_mode |
<stdlib.h> |
Exemplo
// 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.