Marshal.GetHRForException(Exception) Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
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
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.