finally
En plus des clauses try et catch, la gestion des exceptions CLR prend en charge une clause finally. La sémantique est la même que celle du bloc __finally dans la gestion structurée des exceptions (SEH). Un bloc __finally peut suivre un bloc try ou catch.
Notes
L'objectif du bloc finally est de nettoyer les ressources abandonnées après que l'exception soit rencontrée. Notez que le bloc finally est toujours exécuté, même si aucune exception n'a été levée. Le bloc catch n'est exécuté si une exception managée est levée dans le bloc associé à try.
finally est un mot clé contextuel ; consultez mots clés contextuels pour plus d'informations.
Exemple
L'exemple de code suivant montre un bloc finally simple.
// 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" );
}
}