RpcExcept 매크로(rpc.h)
RpcExcept 문은 RPC 애플리케이션에 대한 구조적 예외 처리를 제공합니다.
Windows Vista 이상 버전의 Windows: RpcExceptionFilter 는 RpcExcept를 사용하는 사용자 지정 필터 대신 가장 일반적인 예외에 대한 구조적 예외 처리에 권장됩니다. 그러나 사용자 지정 예외 필터는 여전히 RpcExcept를 사용해야 합니다.
구문
void RpcExcept(
expr
);
매개 변수
expr
예외가 발생할 때 계산되는 식입니다. 식이 0이 아닌 값으로 계산되면 예외 문이 실행됩니다. 식이 0 값으로 계산되면 해제는 다음 RpcTryExcept 또는 RpcTryFinally 함수로 계속됩니다.
반환 값
없음
설명
예외가 발생하지 않으면 식 및 예외 문을 건너뛰고 RpcEndExcept 문 다음에 나오는 문에서 실행이 계속됩니다.
RpcTryExcept 절 뒤의 복합 문은 본문 또는 보호된 섹션입니다. RpcExcept 절 뒤의 복합 문은 예외 처리기입니다. 처리기는 보호된 섹션 본문을 실행하는 동안 예외가 발생하는 경우 수행할 일련의 작업을 지정합니다. 다음과 같이 실행됩니다.
- 보호된 섹션이 실행됩니다.
- 보호된 섹션을 실행하는 동안 예외가 발생하지 않으면 RpcEndExcept 절 이후 문에서 실행이 계속됩니다.
- 보호된 섹션을 실행하는 동안 또는 보호된 섹션이 호출하는 루틴에서 예외가 발생하면 __except 식이 평가되고 값에 따라 예외 처리 방법이 결정됩니다. 다음과 같은 세 가지 값이 있습니다.
- EXCEPTION_CONTINUE_EXECUTION(–1) 예외가 해제되었습니다. 예외가 발생한 지점에서 계속 실행합니다.
- EXCEPTION_CONTINUE_SEARCH (0) 예외가 인식되지 않습니다. try-except 문을 포함하는 처리기를 먼저 검색한 후, 그 다음으로 우선 순위가 높은 처리기를 검색하는 순으로 처리기 스택을 계속 검색합니다.
- 예외가 인식됩니다. __except 복합 문을 실행하여 예외 처리기로 제어를 전송한 다음, __except 블록 이후에 실행을 계속합니다.
RpcExceptionCode 는 식 문과 예외 문 모두에서 사용하여 발생한 예외를 확인할 수 있습니다.
다음 제한 사항이 적용됩니다.
- ( goto를 통해) 보호된 문 으로 점프하는 것은 허용되지 않습니다.
- 예외 문으로 이동(goto를 통해)은 허용되지 않습니다.
- 보호된 문에서 반환 또는 점프(goto를 통해)는 허용되지 않습니다.
- 예외 문에서 반환 또는 점프(goto를 통해)는 허용되지 않습니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 2000 Professional[데스크톱 앱만] |
지원되는 최소 서버 | Windows 2000 Server[데스크톱 앱만] |
대상 플랫폼 | Windows |
헤더 | rpc.h |