Collapse the table of content
Expand the table of content
Important This document may not represent best practices for current development, links to downloads and other resources may no longer be valid. Current recommended version can be found here. ArchiveDisclaimer


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

© 2016 Microsoft