Sdílet prostřednictvím


finally

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

Viz také

Zpracování výjimek