Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Kromě try klauzulí a catch klauzulí podporuje zpracování výjimek CLR klauzuli finally . Sémantika je shodná s blokem __finally při strukturovaném zpracování výjimek (SEH).
__finally Blok může sledovat try nebo catch blokovat.
Poznámky
Účelem finally bloku je vyčistit všechny prostředky, které zůstaly po výskytu výjimky. Všimněte si, že finally blok se vždy spustí, i když nebyla vyvolán žádná výjimka. Blok catch se spustí pouze v případě, že se v přidruženém try bloku vyvolá spravovaná výjimka.
finally je klíčové slovo citlivé na kontext; Další informace najdete v tématu Klíčová slova citlivá na kontext.
Příklad
Následující příklad ukazuje jednoduchý finally blok:
// 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