Compartir a través de


_set_error_mode

Modifica __error_mode para determinar una ubicación no predeterminada en donde el tiempo de ejecución de C escribe un mensaje de error si hay un error que podría finalizar el programa.

Importante

Esta API no se puede usar en aplicaciones que se ejecutan en Windows en tiempo de ejecución. Para obtener más información, vea Funciones de CRT no admitidas en aplicaciones de la Plataforma universal de Windows.

Sintaxis

int _set_error_mode(
   int mode_val
);

Parámetros

mode_val
Destino de los mensajes de error.

Valor devuelto

Devuelve el valor anterior o -1 si se produce un error.

Comentarios

Controla el receptor de salida de error estableciendo el valor de __error_mode. Por ejemplo, puede dirigir la salida a un error estándar o utilizar La API de MessageBox.

El parámetro mode_val puede establecerse en uno de los valores siguientes:

Valor Descripción
_OUT_TO_DEFAULT El receptor de errores viene determinado por __app_type.
_OUT_TO_STDERR El receptor de errores es un error estándar.
_OUT_TO_MSGBOX El receptor de errores es un cuadro de mensaje.
_REPORT_ERRMODE Notifica el valor actual de __error_mode.

Si se pasa un valor distinto de los enumerados, se invoca al controlador de parámetros no válidos, como se describe en Validación de parámetros. Si la ejecución puede continuar, _set_error_mode establece errno en EINVAL y devuelve -1.

Cuando se usa con , assert_set_error_mode muestra la instrucción que produjo un error en el cuadro de diálogo y le ofrece la opción de elegir el botón Omitir, de modo que pueda seguir ejecutando el programa.

Requisitos

Routine Encabezado necesario
_set_error_mode <stdlib.h>

Ejemplo

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

Consulte también

assert Macro, _assert, _wassert