_set_error_mode
프로그램을 종료시킬시도 모르는 오류를 위해 C 런타임은 오류 메세지를 쓰는 기본위치가 아닌 곳을 결정하기 위해 __error_mode 를 수정합니다.
중요
이 API는 Windows 런타임에서 실행되는 응용 프로그램에서 사용할 수 없습니다.C 런타임이 가능한 프로그램을 종료합니다. 오류에 대한 오류 메시지를 기록합니다. 기본 위치가 아닌 위치를 결정하기 위해 __error_mode를 수정합니다.
int _set_error_mode(
int modeval
);
매개 변수
- modeval
오류 메시지의 대상입니다.
반환 값
오류가 발생하는 경우 이전 설정 또는-1을 반환 합니다.
설명
오류 출력 싱크를 __error_mode의 값을 설정함으로써 제어합니다. 예를 들어, 출력을 표준 오류로 보낼 수도 있고 또는 MessageBox API를 사용할 수 있습니다.
이 modeval 매개변수는 다음 값 중 하나일 수 있습니다.
Parameter |
설명 |
---|---|
_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 은 대화 상자에 실패된 명세서를 표시하고 Ignore 버튼을 선택할 옵션을 줍니다. 그결과 프로그램을 계속 실행할 수 있습니다.
요구 사항
루틴 |
필수 헤더 |
---|---|
_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);
}