Bagikan melalui


akhirnya

Selain try klausa dan catch , penanganan pengecualian CLR mendukung klausul finally . Semantik identik dengan __finally blok dalam penanganan pengecualian terstruktur (SEH). Blok __finally dapat mengikuti try atau catch memblokir.

Keterangan

Tujuan blok finally adalah untuk membersihkan sumber daya apa pun yang tersisa setelah pengecualian terjadi. Perhatikan bahwa finally blok selalu dijalankan, bahkan jika tidak ada pengecualian yang dilemparkan. Blok catch hanya dijalankan jika pengecualian terkelola dilemparkan dalam blok terkait try .

finally adalah kata kunci yang sensitif terhadap konteks; lihat Kata Kunci Sensitif Konteks untuk informasi selengkapnya.

Contoh

Contoh berikut menunjukkan blok sederhana finally :

// keyword__finally.cpp
// compile with: /clr
using namespace System;

ref class MyException: public System::Exception{};

void ThrowMyException() {
   throw gcnew MyException;
}

int main() {
   try {
      ThrowMyException();
   }
   catch ( MyException^ e ) {
      Console::WriteLine(  "in catch" );
      Console::WriteLine( e->GetType() );
   }
   finally {
      Console::WriteLine(  "in finally" );
   }
}
in catch
MyException
in finally

Baca juga

Penanganan Pengecualian