Udostępnij za pośrednictwem


na koniec

Oprócz try i catch klauzul, obsługi obsługuje wyjątków CLR finally klauzuli.Semantyka są identyczne z __finally zablokować w strukturalnej (SEH) obsługi wyjątków.A __finally można wykonać blok try lub catch bloku.

Uwagi

Celem finally bloku jest oczyszczenie żadnych zasobów po wystąpił wyjątek.Należy zauważyć, że finally bloku jest zawsze wykonywana, nawet jeśli nie wystąpił wyjątek.catch Bloku jest wykonywany tylko wtedy, jeśli zarządzanych wyjątek w skojarzonym try bloku.

finallyto słowo kluczowe kontekstowa; zobacz Kontekstowe słowa kluczowe (C++ Component Extensions) Aby uzyskać więcej informacji.

Przykład

Poniższy przykład ilustruje prosty 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" );
   }
}
  

Zobacz też

Inne zasoby

Obsługa wyjątków (C++ Component Extensions)