Nakonec
Kromě try a catch doložky, zpracování podporuje CLR výjimek finally klauzule.Stejné sémantika __finally ve strukturované výjimky (SEH) zpracování blokovat.A __finally může následovat blok try nebo catch bloku.
Poznámky
Účelem finally bloku je vyčištění všech zdrojů vlevo po došlo k výjimce.Všimněte si, že finally bloku je spuštěn vždy, i když žádná výjimka.catch Bloku je spuštěn pouze pokud spravované výjimka v rámci přidruženého try bloku.
finallyklíčové slovo kontextově závislé; Viz Kontextově závislá klíčová slova (rozšíření komponent C++) Další informace.
Příklad
Následující příklad ukazuje jednoduchý finally bloku:
// 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" );
}
}