This documentation is archived and is not being maintained.


Modifies __error_mode to determine a nondefault location where the C run time writes an error message for an error that will possibly end the program.

int _set_error_mode(
   int modeval 


Destination of error messages.

Return Value

Returns the old setting or -1 if an error occurs.


Controls the error output sink by setting the value of __error_mode. For example, you can direct output to standard error or use the MessageBox API.

The modeval parameter can be set to one of the following:

Parameter Description
_OUT_TO_DEFAULT Error sink is determined by __app_type.
_OUT_TO_STDERR Error sink is standard error.
_OUT_TO_MSGBOX Error sink is a message box.
_REPORT_ERRMODE Report the current __error_mode value.

When used with an assert, _set_error_mode will display the failed statement in the dialog box and give you the option of clicking Ignore, which allows you to continue executing the program.


Routine Required header Compatibility
_set_error_mode <stdlib.h> ANSI, Win 98, Win Me, Win NT, Win 2000, Win XP


All versions of the C run-time libraries.


// crt_set_error_mode.c
#include <stdlib.h>
#include <assert.h>

int main()

Sample Output

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.

See Also

assert | Run-Time Routines and .NET Framework Equivalents