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.
Dipanggil oleh debugger pada bingkai tumpukan saat ini ketika ingin mencegat pengecualian saat ini.
Sintaks
Parameter
dwFlags
[di] Menentukan tindakan yang berbeda. Saat ini, hanya nilai IEA_INTERCEPT INTERCEPT_EXCEPTION_ACTION yang didukung dan harus ditentukan.
pqwCookie
[out] Nilai unik yang mengidentifikasi pengecualian tertentu.
Tampilkan Nilai
Jika berhasil, mengembalikan S_OK; jika tidak, mengembalikan kode kesalahan.
Berikut ini adalah pengembalian kesalahan yang paling umum.
| Kesalahan | Deskripsi |
|---|---|
E_EXCEPTION_CANNOT_BE_INTERCEPTED |
Pengecualian saat ini tidak dapat dicegat. |
E_EXCEPTION_CANNOT_UNWIND_ABOVE_CALLBACK |
Bingkai eksekusi saat ini belum dicari untuk handler. |
E_INTERCEPT_CURRENT_EXCEPTION_NOT_SUPPORTED |
Metode ini tidak didukung untuk bingkai ini. |
Keterangan
Ketika pengecualian dilemparkan, debugger mendapatkan kontrol dari run time pada titik kunci selama proses penanganan pengecualian. Selama momen kunci ini, debugger dapat menanyakan bingkai tumpukan saat ini jika bingkai ingin mencegat pengecualian. Dengan cara ini, pengecualian yang disadap pada dasarnya adalah handler pengecualian on-the-fly untuk bingkai tumpukan, bahkan jika bingkai tumpukan tersebut tidak memiliki handler pengecualian (misalnya, blok try/catch dalam kode program).
Ketika debugger ingin tahu apakah pengecualian harus dicegat, debugger memanggil metode ini pada objek bingkai tumpukan saat ini. Metode ini bertanggung jawab untuk menangani semua detail pengecualian. Jika antarmuka IDebugStackFrame3 tidak diimplementasikan atau InterceptStackException metode mengembalikan kesalahan apa pun, maka debugger terus memproses pengecualian secara normal.
Catatan
Pengecualian hanya dapat disadap dalam kode terkelola, yaitu, ketika program yang di-debug berjalan di bawah waktu proses .NET. Tentu saja, implementer bahasa pihak ketiga dapat menerapkan InterceptStackException di mesin debug mereka sendiri jika mereka memilih.
Setelah intersepsi selesai, IDebugInterceptExceptionCompleteEvent2 disinyalir.