Partager via


finally

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

Notes

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

finallyest un mot clé sensible au contexte ; consultez Mots clés sensibles au contexte pour plus d’informations.

Exemple

L’exemple suivant illustre un bloc simple 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" );
   }
}
in catch
MyException
in finally

Voir aussi

Gestion des exceptions