Marshal.GetHRForException(Exception) Metod
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Konverterar det angivna undantaget till en 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
Parametrar
Undantaget för att konvertera till en HRESULT.
Returer
HRESULT mappades till det angivna undantaget.
- Attribut
Kommentarer
GetHRForException konfigurerar också ett IErrorInfo-gränssnitt för undantaget som kan hämtas genom att anropa funktionen COM GetErrorInfoNEEDGUID. Du kan använda den här funktionen för att returnera ett HRESULT-värde på en hanterad klassimplementering av ett COM-gränssnitt där du tillämpar PreserveSigAttribute attributet. Låt den tillskrivna metoden fånga alla undantag och använda GetHRForException metoden för att returnera lämpligt HRESULT-värde. Om du tillåter att ett undantag sprids utanför metoden får du ett felaktigt beteende. (Den vanliga språkkörningen kan faktiskt inte skicka ett undantag till en COM-klient som anropar en sådan metod via en v-tabell.)
Observera att GetHRForException metoden anger IErrorInfo-gränssnittet för den aktuella tråden. Detta kan orsaka oväntade resultat för metoder som de ThrowExceptionForHR metoder som standard använder IErrorInfo för den aktuella tråden om den har angetts.