Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Je legální vrátit stavový kód pouze z implementace metody rozhraní schválené jako právně vratitelné. Nedodržení tohoto pravidla může vést ke konfliktu mezi vrácenými chybovými kódy a těmi, které jsou schváleny aplikací. Věnujte zvláštní pozornost tomuto potenciálnímu problému při šíření kódů chyb z funkcí, které se volají interně.
Aplikace, které volají rozhraní, by měly zacházet s jakýmkoli neznámým vráceným kódem chyby (na rozdíl od kódu úspěchu) jako se synonymem E_UNEXPECTED. Tento postup zpracování neznámých kódů chyb vyžaduje klienti rozhraní a funkcí definovaných na modelu COM. Vzhledem k tomu, že typickým programovacím postupem je podrobně zpracovat několik konkrétních kódů chyb a pracovat s ostatními obecně, je tento požadavek na zpracování neočekávaných nebo neznámých kódů chyb snadno splněn.
Při volání metody rozhraní je důležité zpracovat všechny možné chyby. Pokud to neuděláte, může dojít k chybovému ukončení aplikace, poškození dat nebo k ohrožení zabezpečení. Následující ukázka kódu ukazuje doporučený způsob zpracování neznámých chyb:
HRESULT hr;
hr = xxMethod();
switch (GetScode(hr))
{
case NOERROR:
// Method returned success.
break;
case x1:
// Handle error x1 here.
break;
case x2:
// Handle error x2 here.
break;
case E_UNEXPECTED:
default:
// Handle unexpected errors here.
break;
}
Následující kontrola chyb se často používá u rutin, které nevracejí nic zvláštního (jiné než S_OK nebo neočekávanou chybu):
if (xxMethod() == NOERROR)
{
// Handle success here.
}
else
{
// Handle failure here.
}
Související témata
-
Zpracování chyb v modelu COM