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.
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