Bagikan melalui


Sintaks Handler

Bagian ini menguraikan sintaksis dan penggunaan penanganan pengecualian terstruktur seperti yang diimplementasikan dalam Microsoft C/C++ Mengoptimalkan Pengkompilasi. Kata kunci berikut ditafsirkan oleh pengkompilasi sebagai bagian dari mekanisme penanganan pengecualian terstruktur.

Kata kunci Deskripsi
__try Memulai isi kode yang dijaga. Digunakan dengan kata kunci __except untuk membuat handler pengecualian , atau dengan kata kunci __finally untuk membangun handler penghentian .
__except Memulai blok kode yang dijalankan hanya ketika pengecualian terjadi dalam blok __try terkait.
__finally Memulai blok kode yang dijalankan setiap kali alur kontrol meninggalkan blok __try terkait.
__leave Memungkinkan penghentian segera blok __try tanpa menyebabkan penghentian abnormal dan penalti performanya.

 

Pengkompilasi juga menafsirkanGetExceptionCode , GetExceptionInformation, dan fungsi AbnormalTermination sebagai kata kunci, dan penggunaannya di luar sintaks penanganan pengecualian yang sesuai menghasilkan kesalahan kompilator. Berikut ini adalah deskripsi singkat tentang fungsi-fungsi ini.

Fungsi Deskripsi
getExceptionCode Mengembalikan kode yang mengidentifikasi jenis pengecualian. Fungsi ini hanya dapat dipanggil dari dalam ekspresi filter atau blok penangan pengecualian.
GetExceptionInformation Mengembalikan penunjuk ke struktur EXCEPTION_POINTERS yang berisi penunjuk ke rekaman konteks dan rekaman pengecualian. Fungsi ini hanya dapat dipanggil dari dalam ekspresi filter handler pengecualian.
AbnormalTermination Menunjukkan apakah alur kontrol meninggalkan blok __try terkait secara berurutan setelah menjalankan pernyataan terakhir di blok. Fungsi ini hanya dapat dipanggil dari dalam blok __finally handler penghentian.