다음을 통해 공유


set_unexpected (CRT)

직접 종료 함수 호출 설치 unexpected.

unexpected_function set_unexpected(
   unexpected_function unexpFunction 
);

매개 변수

  • unexpFunction
    작성 하 여 대체 하는 함수에 대 한 포인터를 unexpected 함수입니다.

반환 값

이전 종료 함수에 대 한 포인터를 등록 하 여 반환 _set_unexpected 이전 함수는 나중에 복원할 수 있도록 합니다.이전 함수가 설정 된 경우 반환 값의 기본 동작을 복원 하려면 사용할 수도 있습니다. 이 값은 NULL 일 수 있습니다.

설명

set_unexpected 설치 작동 unexpFunction 함수가 호출는 unexpected.unexpected현재 C++ 예외 처리 구현에서는 사용 되지 않습니다.unexpected_function 형식이 EH에 정의 되어 있습니다.사용자 정의 예기치 않은 함수 포인터로 H unexpFunction 반환 void.사용자 지정 unexpFunction 함수가 해당 호출자에 게 반환 해야 없습니다.

typedef void ( *unexpected_function )( );

By default, unexpected calls terminate.종료 함수를 직접 작성 하 고 호출 하 여이 기본 동작을 변경할 수 있습니다 set_unexpected 이름에 함수를 인수로 사용 합니다.unexpected인수로 주어진 마지막 함수 호출 set_unexpected.

사용자 지정 종료 함수를 호출 하 여 설치와 달리 set_terminate, 내에서 예외가 throw 될 수 있습니다 unexpFunction.

다중 스레드 환경에서 예기치 않은 함수가 각 스레드에 대 한 개별적으로 유지 됩니다.각 새 스레드에서 예기치 않은 기능을 설치 해야 합니다.따라서, 각 스레드가 자체의 예기치 않은 처리 됩니다.

현재 Microsoft 구현에서는 C++ 예외 처리 unexpected 호출 terminate 기본적으로 한 예외 처리에서 런타임 라이브러리에 의해 호출 됩니다.큰 차이가 없습니다 호출 하는 unexpected 대신 terminate.

하나는 set_unexpected 처리기를 동적으로 링크 된 모든 Dll 또는 Exe입니다. 사용자가 호출 하는 경우에 set_unexpected 가 다른 처리기를 바꿀 수 있습니다 또는 처리기를 대체 하는 것으로 다른 DLL 또는 EXE 설정 합니다.

요구 사항

루틴

필수 헤더

set_unexpected

<eh.h>

추가 호환성 정보를 참조 하십시오. 호환성 소개에서 합니다.

해당 .NET Framework 항목

해당 사항 없음. 표준 C 함수를 호출할 수 있습니다 PInvoke. 자세한 내용은 플랫폼 호출 예제.

참고 항목

참조

예외 처리 루틴

abort

_get_unexpected

set_terminate (CRT)

terminate (CRT)

unexpected (CRT)