Marshal.GetHRForException(Exception) Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Převede zadanou výjimku na HRESULT.
public:
static int GetHRForException(Exception ^ e);
[System.Security.SecurityCritical]
public static int GetHRForException (Exception e);
public static int GetHRForException (Exception? e);
public static int GetHRForException (Exception e);
[<System.Security.SecurityCritical>]
static member GetHRForException : Exception -> int
static member GetHRForException : Exception -> int
Public Shared Function GetHRForException (e As Exception) As Integer
Parametry
Výjimka pro převod na HRESULT.
Návraty
Hodnota HRESULT mapovaná na zadanou výjimku.
- Atributy
Poznámky
GetHRForException také nastaví rozhraní IErrorInfo pro výjimku, kterou lze získat voláním funkce COM GetErrorInfoNEEDGUID. Tuto funkci můžete použít k vrácení hodnoty HRESULT v implementaci spravované třídy rozhraní COM, kde použijete PreserveSigAttribute atribut. Nechte přiřazenou metodu zachytit všechny výjimky a použít metodu GetHRForException k vrácení příslušné hodnoty HRESULT. Povolení šíření výjimky mimo metodu vede k nesprávnému chování. (Modul CLR (Common Language Runtime) ve skutečnosti nedokáže předat výjimku klientovi COM, který volá takovou metodu prostřednictvím tabulky v-table.)
Všimněte si GetHRForException , že metoda nastaví rozhraní IErrorInfo aktuálního vlákna. To může způsobit neočekávané výsledky pro metody, jako ThrowExceptionForHR jsou metody, které ve výchozím nastavení používají IErrorInfo aktuálního vlákna, pokud je nastaven.
Platí pro
Viz také
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro