Hibakezelés a COM-ban (COM)
Szinte minden COM-függvény és felületi metódus a HRESULT típusú értéket adja vissza. A HRESULT (a név "eredményleíróként" olvasható) egy sikeres, figyelmeztetési vagy hibaérték visszaadásának módja. A HRESULT valójában nem fogópont (lásd Miért H-val kezdődik a HRESULT, ha semmihez sem fogópont?); ez csak egy érték, amelybe több mező van kódolva. A COM-specifikáció szerint a nulla eredmény sikerességet jelez, a nem aero eredmény pedig a hibát jelzi.
A forráskód szintjén az összes hibaérték három részből áll, aláhúzásjelekkel elválasztva. Az első rész az előtag, amely azonosítja a hibához társított létesítményt, a második rész az E hiba, a harmadik pedig egy sztring, amely a tényleges feltételt írja le. A STG_E_MEDIUMFULL például akkor adja vissza, ha a merevlemezen nincs szabad hely. A STG előtag jelzi a tárolóhelyet, az E azt jelzi, hogy az állapotkód hiba, a MEDIUMFULL pedig a hibáról ad konkrét információt. Az interfészmetódusból vagy függvényből esetleg visszaadni kívánt értékek nagy része a Winerror.h-ban van definiálva.
A hibakezeléssel kapcsolatos további információkért tekintse meg a következő szakaszokat:
- COM-hibakódok struktúrája
- kódok a FACILITY_ITF
- Makrók használata hibakezelési
- COM-hibakezelés Java és Visual Basic
- hibakezelési stratégiák
- Ismeretlen hibák kezelése
Kapcsolódó témakörök