finally

Además de try y las cláusulas de catch , el control de excepciones de CLR admite una cláusula de finally .La semántica es idéntica a __finally bloqueado en el control estructurado de (SEH) excepciones.Un bloque de __finally puede seguir un bloque de try o de catch .

Comentarios

El propósito del bloque de finally es limpiar los recursos está después de la excepción producida.Observe que el bloque de finally se ejecutará siempre, aunque no se produjo ninguna excepción.El bloque de catch sólo se ejecuta si una excepción administrada se produce dentro del bloque asociado de try .

finally es una palabra clave contextual; vea Palabras clave contextuales (Extensiones de componentes de C++) para obtener más información.

Ejemplo

El ejemplo siguiente se muestra finally simple bloqueos:

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

Vea también

Otros recursos

Control de excepciones (Extensiones de componentes de C++)