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
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk