OpCodes.Endfinally Bidang
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.
Mentransfer kontrol dari fault klausul atau finally blok pengecualian kembali ke penanganan pengecualian Common Language Infrastructure (CLI).
public: static initonly System::Reflection::Emit::OpCode Endfinally;
public static readonly System.Reflection.Emit.OpCode Endfinally;
staticval mutable Endfinally : System.Reflection.Emit.OpCode
Public Shared ReadOnly Endfinally As OpCode
Nilai Bidang
Keterangan
Tabel berikut mencantumkan format rakitan heksadesimal dan Microsoft Bahasa Perantara (MSIL) instruksi, bersama dengan ringkasan referensi singkat:
| Format | Format Rakitan | Deskripsi |
|---|---|---|
| DC | secara endfinal endfault |
Mengakhiri klausul finally atau fault blok pengecualian. |
Tidak ada perilaku transisi tumpukan untuk instruksi ini.
Endfinally dan endfault memberi sinyal akhir finally klausa atau fault sehingga pelepasan tumpukan dapat berlanjut hingga handler pengecualian dipanggil.
endfinally Atau endfault instruksi mentransfer kontrol kembali ke mekanisme pengecualian CLI. Mekanisme kemudian mencari klausul berikutnya finally dalam rantai jika blok yang dilindungi keluar dengan instruksi cuti. Jika blok yang dilindungi keluar dengan pengecualian, CLI akan mencari finally berikutnya atau fault, atau memasukkan handler pengecualian yang dipilih selama pass pertama penanganan pengecualian.
Instruksi endfinally mungkin hanya muncul secara leksikal dalam blok finally .
endfilter Tidak seperti instruksi, tidak ada persyaratan bahwa blok berakhir dengan endfinally instruksi, dan mungkin ada instruksi sebanyak endfinally yang diperlukan dalam blok. Pembatasan yang sama ini berlaku untuk endfault instruksi dan fault blok.
Kontrol tidak dapat ditransfer ke blok finally (atau fault) kecuali melalui mekanisme pengecualian. Kontrol tidak dapat ditransfer keluar dari finally blok (atau fault) kecuali melalui penggunaan throw instruksi atau menjalankan endfinally instruksi (atau endfault). Secara khusus, Anda tidak dapat "keluar" dari finally blok (atau fault) atau untuk menjalankan Ret instruksi atau Leave dalam finally blok (atau fault).
Perhatikan bahwa endfault instruksi dan endfinally adalah alias - sesuai dengan opcode yang sama.
Metode berikut Emit kelebihan beban dapat menggunakan endfinally opcode (endfault), serta ILGenerator metode EndExceptionBlock.