Condividi tramite


infine

Oltre a try e le clausole di catch , la gestione delle eccezioni CLR supporta una clausola di finally .La semantica è identica al blocco di __finally nella gestione delle eccezioni (SEH) strutturata.Un blocco di __finally può seguire un blocco di catch o di try .

Note

Lo scopo del blocco di finally è per pulire eventuali risorse predefinite dopo l'eccezione si è verificato.Si noti che il blocco di finally viene eseguita sempre, anche se alcuna eccezione è stata generata un'eccezione.Il blocco di catch viene eseguito solo se viene generata un'eccezione gestita all'interno del blocco associato di try .

finally è una parola chiave sensibile al contesto, vedere Parole chiave sensibili al contesto (Estensioni del componente C++) per ulteriori informazioni.

Esempio

Nell'esempio seguente viene illustrato un semplice blocco di finally :

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

Vedere anche

Altre risorse

Gestione delle eccezioni (Estensioni del componente C++)