다음을 통해 공유


_set_error_mode

프로그램을 끝낼 수 있는 오류에 대해 C 런타임이 오류 메시지를 쓰는 기본이 아닌 위치를 결정하기 위해 __error_mode를 수정합니다.

Important

이 API는 Windows 런타임에서 실행되는 애플리케이션에서 사용할 수 없습니다. 자세한 내용은 유니버설 Windows 플랫폼 앱에서 지원되지 않는 CRT 함수를 참조하세요.

구문

int _set_error_mode(
   int mode_val
);

매개 변수

mode_val
오류 메시지의 대상입니다.

반환 값

오류가 발생하면 이전 설정 또는 -1을 반환합니다.

설명

__error_mode의 값을 설정하여 오류 출력 싱크를 제어합니다. 예를 들어 출력을 표준 오류로 보내거나 MessageBox API를 사용할 수 있습니다.

mode_val 매개 변수는 다음 값 중 하나로 설정할 수 있습니다.

설명
_OUT_TO_DEFAULT 오류 싱크가 __app_type에 의해 결정됩니다.
_OUT_TO_STDERR 오류 싱크가 표준 오류입니다.
_OUT_TO_MSGBOX 오류 싱크가 메시지 상자입니다.
_REPORT_ERRMODE 현재 __error_mode 값을 보고합니다.

나열된 값이 아닌 다른 값으로 전달되면 매개 변수 유효성 검사에 설명된 대로 잘못된 매개 변수 처리기가 호출됩니다. 계속해서 실행하도록 허용한 경우 _set_error_modeerrnoEINVAL로 설정하고 -1을 반환합니다.

대화 상자에서 assert_set_error_mode 실패한 문을 표시하고 프로그램을 계속 실행할 수 있도록 무시 단추를 선택할 수 있는 옵션을 제공합니다.

요구 사항

루틴에서 반환된 값 필수 헤더
_set_error_mode <stdlib.h>

예시

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

참고 항목

assert Macro, _assert, _wassert