Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A felügyelt és a nem felügyelt kód együttműködve kezelheti a kivételeket. Ha egy metódus kivételt jelez a felügyelt kódban, a közös nyelvi futtatókörnyezet HRESULT-ot adhat át egy COM-objektumnak. Ha egy metódus nem felügyelt kódban meghiúsul egy HRESULT hiba visszaadásával, a futtatókörnyezet kivételt eredményez, amely a felügyelt kóddal fogható el.
A futtatókörnyezet automatikusan leképozza a HRESULT-t a COM-interopból konkrétabb kivételekre. Például E_ACCESSDENIED lesz UnauthorizedAccessException, E_OUTOFMEMORY lesz OutOfMemoryException, és így tovább.
Ha a HRESULT egyéni eredmény, vagy ismeretlen a futtatókörnyezet számára, a futtatókörnyezet általános értéket ad át COMException az ügyfélnek. A COMExceptionErrorCode tulajdonsága tartalmazza a HRESULT értéket.
Az IErrorInfo használata
Amikor egy hiba átkerül a COM-ból a felügyelt kódba, a futtatókörnyezet hibainformációkkal tölti fel a kivételobjektumot. Az IErrorInfo-t támogató és HRESULT kódokat visszaadó COM-objektumok ezt az információt a kezelési kivételek részére adják meg. A futtatókörnyezet például leképezi a COM-hiba leírását a kivétel tulajdonságára Message . Ha a HRESULT nem ad meg további hibainformációkat, a futtatókörnyezet a kivétel számos tulajdonságát alapértelmezett értékekkel tölti ki.
Ha egy metódus nem felügyelt kódban meghiúsul, kivétel továbbítható egy felügyelt kódszegmensnek. A HRESULTS and Exceptions témakör egy táblázatot tartalmaz, amely bemutatja, hogyan képezi le a HRESULTS a futtatókörnyezet kivételobjektumait.