Marshal.ThrowExceptionForHR 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.
Memberikan pengecualian dengan nilai HRESULT kegagalan tertentu.
Overload
ThrowExceptionForHR(Int32) |
Memberikan pengecualian dengan nilai HRESULT kegagalan tertentu. |
ThrowExceptionForHR(Int32, IntPtr) |
Memberikan pengecualian dengan kegagalan tertentu HRESULT, berdasarkan antarmuka IErrorInfo yang ditentukan. |
ThrowExceptionForHR(Int32)
- Sumber:
- Marshal.cs
- Sumber:
- Marshal.cs
- Sumber:
- Marshal.cs
Memberikan pengecualian dengan nilai HRESULT kegagalan tertentu.
public:
static void ThrowExceptionForHR(int errorCode);
[System.Security.SecurityCritical]
public static void ThrowExceptionForHR (int errorCode);
public static void ThrowExceptionForHR (int errorCode);
[<System.Security.SecurityCritical>]
static member ThrowExceptionForHR : int -> unit
static member ThrowExceptionForHR : int -> unit
Public Shared Sub ThrowExceptionForHR (errorCode As Integer)
Parameter
- errorCode
- Int32
HRESULT sesuai dengan pengecualian yang diinginkan.
- Atribut
Keterangan
Metode ini membuat objek pengecualian untuk HRESULT kegagalan yang ditentukan. Jika HRESULT adalah 0 atau positif (kode keberhasilan), metode akan kembali tanpa membuat atau melemparkan pengecualian.
Perhatikan bahwa ThrowExceptionForHR(Int32) metode mengembalikan pengecualian berdasarkan antarmuka IErrorInfo dari utas saat ini jika satu diatur. Ketika ini terjadi, errorCode
parameter diabaikan.
Beberapa HRESULT kegagalan memetakan pengecualian yang ditentukan, sedangkan yang lain tidak. Jika HRESULT memetakan ke pengecualian yang ditentukan, ThrowExceptionForHR membuat instans pengecualian dan melemparkannya. Jika tidak, ia membuat instans COMException, menginisialisasi bidang kode kesalahan dengan HRESULT, dan melemparkan pengecualian tersebut. Ketika ThrowExceptionForHR dipanggil, ia mencoba untuk mengambil informasi tambahan mengenai kesalahan dengan menggunakan fungsi GetErrorInfo yang tidak dikelola.
Untuk pemetaan dari setiap HRESULT ke kelas pengecualian yang sebanding di .NET Framework, lihat Cara: Memetakan HRESULT dan Pengecualian.
Terkadang, ThrowExceptionForHR mungkin mengembalikan pengecualian dari panggilan COM sebelumnya. Dalam hal ini, Anda dapat menggunakan solusi berikut dan meneruskan IntPtr(-1)
sebagai parameter kedua (errorInfo
):
public static void ThrowExceptionForHR(interrorCode,IntPtrerrorInfo)
Lihat juga
Berlaku untuk
ThrowExceptionForHR(Int32, IntPtr)
- Sumber:
- Marshal.cs
- Sumber:
- Marshal.cs
- Sumber:
- Marshal.cs
Memberikan pengecualian dengan kegagalan tertentu HRESULT, berdasarkan antarmuka IErrorInfo yang ditentukan.
public:
static void ThrowExceptionForHR(int errorCode, IntPtr errorInfo);
[System.Security.SecurityCritical]
public static void ThrowExceptionForHR (int errorCode, IntPtr errorInfo);
public static void ThrowExceptionForHR (int errorCode, IntPtr errorInfo);
[<System.Security.SecurityCritical>]
static member ThrowExceptionForHR : int * nativeint -> unit
static member ThrowExceptionForHR : int * nativeint -> unit
Public Shared Sub ThrowExceptionForHR (errorCode As Integer, errorInfo As IntPtr)
Parameter
- errorCode
- Int32
HRESULT sesuai dengan pengecualian yang diinginkan.
- errorInfo
-
IntPtr
nativeint
Penunjuk ke antarmuka IErrorInfo yang menyediakan informasi lebih lanjut tentang kesalahan tersebut. Anda dapat menentukan IntPtr(0)
untuk menggunakan antarmuka IErrorInfo saat ini, atau IntPtr(-1)
untuk mengabaikan antarmuka IErrorInfo saat ini dan membuat pengecualian hanya dari kode kesalahan.
- Atribut
Keterangan
Metode ini membuat objek pengecualian untuk HRESULT kegagalan yang ditentukan. Jika HRESULT adalah 0 atau positif (kode keberhasilan), metode akan kembali tanpa membuat atau melemparkan pengecualian.
Metode ThrowExceptionForHR ini merilis errorInfo
parameter, mengurangi jumlah referensi COM dari antarmuka IErrorInfo .
Perhatikan bahwa ThrowExceptionForHR metode mengembalikan pengecualian berdasarkan antarmuka IErrorInfo dari utas saat ini jika satu diatur. Ketika ini terjadi, errorCode
parameter diabaikan.
Beberapa HRESULT kegagalan memetakan pengecualian yang ditentukan, sedangkan yang lain tidak. Jika HRESULT memetakan ke pengecualian yang ditentukan, ThrowExceptionForHR membuat instans pengecualian dan melemparkannya. Jika tidak, ia membuat instans System.Runtime.InteropServices.COMException, menginisialisasi bidang kode kesalahan dengan HRESULT, dan melemparkan pengecualian tersebut. Parameter errorInfo
digunakan untuk mengambil informasi tambahan mengenai kesalahan.
Untuk pemetaan dari setiap HRESULT ke kelas pengecualian yang sebanding di .NET Framework, lihat Cara: Memetakan HRESULT dan Pengecualian.