다음을 통해 공유


AtlThrow

신호에 따라 오류를이 함수를 호출 하는 HRESULT 상태 코드입니다.

inline void AtlThrow(
   HRESULT hr
);

매개 변수

  • hr
    표준 HRESULT 값입니다.

설명

이 함수가 MFC 및 ATL 코드 오류가 발생 한 경우 사용 됩니다.또한 코드에서 호출할 수 있습니다.이 함수는 기본 구현 기호 정의에 따라 _ATL_NO_EXCEPTIONS 및 MFC 나 ATL 프로젝트의 종류

모든 경우에이 함수가 HRESULT 디버거를 추적합니다.

경우 _ATL_NO_EXCEPTIONS 정의 되지 않은이 함수는 MFC 프로젝트에서 throw 한 CMemoryException 또는 COleException HRESULT 값을 기준으로 합니다.

경우 _ATL_NO_EXCEPTIONS 함수가 throw ATL 프로젝트에 정의 되어 있지 않습니다는 CAtlException.

경우 _ATL_NO_EXCEPTIONS 는 정의 함수 어설션 오류가 아닌 예외를 throw 됩니다.

ATL 프로젝트를 ATL에서 오류가 발생 한 데이 함수를 직접 구현 하는 것이 가능 합니다.이 위해서는 함수는 동일한 시그니처를 정의 AtlThrow 및 # define AtlThrow 함수의 이름입니다.이 atlexcept.h atlbase.h 포함 되므로 모든 ATL 헤더를 포함 하 여 전에 수행 해야 즉 atlexcept.h를 포함 하기 전에 수행 되어야 합니다.

예제

// Constructors and operators cannot return error codes, and
// so they are the place where exceptions are generally used.
class CMyClass
{
private:
   CComPtr<IBuddy> m_spBuddy;
public:
   CMyClass()
   {
      HRESULT hr = m_spBuddy.CoCreateInstance(CLSID_Buddy);
      if (FAILED(hr))
         AtlThrow(hr);
   }
   //   methods ..
};

요구 사항

헤더: atldef.h

참고 항목

참조

CAtlException 클래스

ATLTRACE2

CMemoryException 클래스

COleException 클래스

AtlThrowLastWin32

기타 리소스

디버깅 및 오류 보고 전역 함수