Sdílet prostřednictvím


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

Viz také

Další zdroje

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