Bagikan melalui


Marshal.GetHRForException(Exception) Metode

Definisi

Mengonversi pengecualian yang ditentukan ke 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

Parameter

e
Exception

Pengecualian untuk mengonversi ke HRESULT.

Mengembalikan

HRESULT dipetakan ke pengecualian yang disediakan.

Atribut

Keterangan

GetHRForException juga menyiapkan antarmuka IErrorInfo untuk pengecualian yang dapat diperoleh dengan memanggil fungsi COM GetErrorInfoNEEDGUID. Anda dapat menggunakan fungsi ini untuk mengembalikan nilai HRESULT pada implementasi kelas terkelola dari antarmuka COM tempat Anda menerapkan PreserveSigAttribute atribut . Minta metode yang diatribusikan menangkap semua pengecualian dan menggunakan GetHRForException metode untuk mengembalikan nilai HRESULT yang sesuai. Memungkinkan pengecualian disebarluaskan di luar metode menghasilkan perilaku yang salah. (Bahkan, runtime bahasa umum gagal meneruskan pengecualian ke klien COM yang memanggil metode tersebut melalui v-table.)

Perhatikan bahwa GetHRForException metode mengatur antarmuka IErrorInfo dari utas saat ini. Ini dapat menyebabkan hasil yang tidak terduga untuk metode seperti ThrowExceptionForHR metode yang default menggunakan IErrorInfo dari utas saat ini jika diatur.

Berlaku untuk

Lihat juga