Sdílet prostřednictvím


AtlThrow

Volání této funkce chybu na základě signál HRESULT kód stavu.

inline void AtlThrow( 
   HRESULT hr 
);

Parametry

  • hr
    Standardní hodnota HRESULT.

Poznámky

Tato funkce používá ATL a MFC kódu v případě chybového stavu.Může být také volána z vlastního kódu.Výchozí implementace této funkce závisí na definici symbolu, _ATL_NO_EXCEPTIONS a na typu projektu MFC nebo ATL.

Ve všech případech tato funkce sleduje HRESULT pro ladicí program.

Pokud _ATL_NO_EXCEPTIONS není definován v projektu aplikace MFC vyvolá tato funkce CMemoryException nebo COleException na základě hodnoty hodnota HRESULT.

Pokud _ATL_NO_EXCEPTIONS není definován v projektu ATL, vyvolá funkci CAtlException.

Pokud _ATL_NO_EXCEPTIONS je definována, funkce způsobí nezdaru při místo došlo k výjimce.

ATL projekty je možné zajistit vlastní implementaci této funkce můžete použít ATL v případě selhání.To provedete definovat vlastní funkce s stejný podpis jako AtlThrow a # define AtlThrow název funkce.Musí to být před včetně atlexcept.h (to znamená, že musí být provedeno před včetně ATL záhlaví, protože obsahuje atlbase.h atlexcept.h).

Příklad

// 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 ..
};

Požadavky

Záhlaví: atldef.h

Viz také

Referenční dokumentace

Třída CAtlException

ATLTRACE2

Třída CMemoryException

Třída COleException

AtlThrowLastWin32

Další zdroje

Ladění a chybách globální funkce