Compartilhar via


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

Confira também

assert Macro, _assert, _wassert