Bagikan melalui


OpCodes.Endfinally Bidang

Definisi

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 instruksi dan Microsoft Intermediate Language (MSIL), 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 klausul atau fault sehingga pelepasan tumpukan dapat dilanjutkan hingga handler pengecualian dipanggil. Atau endfinallyendfault 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 berikutnya finally atau fault, atau memasukkan handler pengecualian yang dipilih selama pass pertama penanganan pengecualian.

Instruksi endfinally mungkin hanya muncul secara leksikal dalam finally blok. 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 atau Leave instruksi dalam finally blok (atau fault).

Perhatikan bahwa endfault instruksi dan endfinally adalah alias - mereka sesuai dengan opcode yang sama.

Metode berikut Emit kelebihan beban dapat menggunakan endfinally opcode (endfault), serta ILGenerator metode EndExceptionBlock.

Berlaku untuk