Freigeben über


schließlich

Zusätzlich zu try und catch-Klauseln unterstützt CLR-Ausnahmebehandlung eine finally-Klausel.Die Semantik ist mit dem __finally-Block in der strukturierten Ausnahmebehandlung (SEH) identisch.Ein __finally-Block kann ein try oder catch-Block folgen.

Hinweise

Der Zweck des finally-Block besteht darin, alle Ressourcen zu bereinigen, die die Ausnahme aufgetreten ist, werden.Beachten Sie, dass der finally-Block immer ausgeführt wird, selbst wenn keine Ausnahme ausgelöst wurde.Der catch-Block wird nur ausgeführt, wenn eine verwaltete Ausnahme innerhalb des zugeordneten try-Block ausgelöst wird.

finally ist ein kontextbezogenes Schlüsselwort. Weitere Informationen finden Sie unter Kontextbezogene Schlüsselwörter.

Beispiel

Im folgenden Beispiel wird ein einfacher finally-Block:

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

Siehe auch

Weitere Ressourcen

Ausnahmebehandlung unter /clr (nur auf Englisch verfügbar)