Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Kode terkelola dan tidak terkelola dapat bekerja sama untuk menangani pengecualian. Jika metode menghasilkan pengecualian dalam kode terkelola, runtime bahasa umum dapat meneruskan HRESULT ke objek COM. Jika metode gagal dalam kode yang tidak dikelola dengan mengembalikan kegagalan HRESULT, runtime melemparkan pengecualian yang dapat ditangkap oleh kode terkelola.
Runtime secara otomatis memetakan HRESULT dari interop COM ke pengecualian yang lebih spesifik. Misalnya, E_ACCESSDENIED menjadi UnauthorizedAccessException, E_OUTOFMEMORY menjadi OutOfMemoryException, dan sebagainya.
Jika HRESULT adalah hasil kustom atau jika tidak diketahui oleh runtime, runtime mengirimkan hasil generik COMException ke klien. Properti ErrorCode dari COMException berisi nilai HRESULT.
Bekerja dengan IErrorInfo
Ketika kesalahan diteruskan dari COM ke kode terkelola, runtime mengisi objek pengecualian dengan informasi kesalahan. Objek COM yang mendukung IErrorInfo dan mengembalikan HRESULTS memberikan informasi ini ke pengecualian kode terkelola. Misalnya, runtime memetakan Deskripsi dari kesalahan COM ke properti pengecualian Message . Jika HRESULT tidak memberikan informasi kesalahan tambahan, runtime mengisi banyak properti pengecualian dengan nilai default.
Jika metode gagal dalam kode yang tidak dikelola, pengecualian dapat diteruskan ke segmen kode terkelola. Topik HRESULTS dan Pengecualian berisi tabel yang menunjukkan bagaimana HRESULTS memetakan ke objek pengecualian runtime.