finally
ve catch
yan tümcelerine try
ek olarak, CLR özel durum işlemesi bir finally
yan tümceyi destekler. Semantik, yapılandırılmış özel durum işlemedeki (SEH) blokla __finally
aynıdır. Bir __finally
blok bir try
veya catch
bloğunu takip edebilir.
Açıklamalar
Bloğun finally
amacı, özel durum oluştuktan sonra kalan kaynakları temizlemektir. Hiçbir özel durum olmasa bile bloğun finally
her zaman yürütüldüğünü unutmayın. Blok catch
yalnızca ilişkili try
blok içinde yönetilen bir özel durum oluşturulursa yürütülür.
finally
bağlama duyarlı bir anahtar sözcüktür; Daha fazla bilgi için bkz . Bağlama Duyarlı Anahtar Sözcükler .
Örnek
Aşağıdaki örnekte basit finally
bir blok gösterilmektedir:
// 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