_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_mode
은 errno
를 EINVAL
로 설정하고 -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.