Partager via


finally

En plus de try et les clauses d' catch , la gestion des exceptions CLR prend en charge une clause d' finally .La sémantique est identique au bloc d' __finally dans la gestion structurée des (SEH) exceptions.Un bloc d' __finally peut suivre un bloc d' try ou d' catch .

Notes

L'objectif du bloc d' finally est de nettoyer toutes les ressources restantes après l'exception produites.Notez que le bloc d' finally est toujours exécuté, même si aucune exception n'a été levée.Le bloc d' catch n'est exécuté si une exception managée est levée dans le bloc associé d' try .

finally est un mot clé contextuel ; consultez Mots clés contextuels (extensions du composant C++) pour plus d'informations.

Exemple

l'exemple suivant montre un bloc simple d' 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" );
   }
}
  

Voir aussi

Autres ressources

Gestion des exceptions (extensions du composant C++)