Delen via


eindelijk

Naast try en catch componenten biedt CLR-uitzonderingsafhandeling ondersteuning voor een finally component. De semantiek zijn identiek aan het __finally blok in gestructureerde uitzonderingsafhandeling (SEH). Een __finally blok kan een try of catch blok volgen.

Opmerkingen

Het doel van het finally blok is om alle resources op te ruimen die zijn achtergebleven na het optreden van de uitzondering. Houd er rekening mee dat het finally blok altijd wordt uitgevoerd, zelfs als er geen uitzondering is opgetreden. Het catch blok wordt alleen uitgevoerd als er een beheerde uitzondering wordt gegenereerd binnen het bijbehorende try blok.

finally is een contextgevoelig trefwoord; zie Context-Sensitive Trefwoorden voor meer informatie.

Voorbeeld

In het volgende voorbeeld ziet u een eenvoudig 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

Zie ook

afhandeling van uitzonderingen