Jegyzet
Az oldalhoz való hozzáférés engedélyezést igényel. Próbálhatod be jelentkezni vagy könyvtárat váltani.
Az oldalhoz való hozzáférés engedélyezést igényel. Megpróbálhatod a könyvtár váltását.
A CLR-kivételkezelés a try záradékok mellett a catch záradékokat is támogatja finally . A szemantikák megegyeznek a __finally strukturált kivételkezelésben (SEH) lévő blokkéval. A __finally blokk követhet egy try vagy catch blokkot.
Megjegyzések
A blokk célja, finally hogy a kivétel bekövetkezése után maradt erőforrásokat megtisztítsa. Vegye figyelembe, hogy a finally blokk mindig végrehajtásra kerül, még akkor is, ha nem történt kivétel. A catch blokk csak akkor lesz végrehajtva, ha a társított try blokkon belül egy felügyelt kivétel van kivédve.
finally környezetfüggő kulcsszó; további információért tekintse meg Context-Sensitive kulcsszavakat .
példa
Az alábbi példa egy egyszerű finally blokkot mutat be:
// 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