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