Sdílet prostřednictvím


Nakonec

Kromě try a catch klauzule, podporuje zpracování výjimek modulu CLR finally klauzule.Sémantika totožné s __finally blok do strukturované výjimky (SEH) zpracování.A __finally bloku můžete sledovat try nebo catch blok.

Poznámky

Účelem finally blok je vyčistit všechny prostředky ponechány po došlo k výjimce.Všimněte si, že finally blok je vždy spuštěn, i když byla vyvolána žádná výjimka.catch Bloku se spustí pouze pokud spravované výjimce v rámci přidruženého try blok.

Klíčové slovo finally je slovo citlivé na kontext; další informace naleznete v tématu Kontextově závislá klíčová slova (rozšíření komponent C++).

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" );
   }
}
  

Viz také

Další zdroje

Zpracování výjimek (rozšíření komponent C++)