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