Le bloc finally contient des instructions à exécuter après l'exécution du bloc try... catch mais avant les instructions suivant le bloc précité.

Le bloc finally est exécuté si une exception est lancée, même si aucune instruction catch ne traîte l'exception.

Cette instruction peut être utilisée pour libérer une ressource par exemple.

try
{
  //Instructions;
}
catch
{
  //Instructions;
}
finally
{
  //Instructions;
}

try
{
  OuvertureFichier(); // attache une ressource
  EcritureFichier(donnee);
}
catch
{
  CaptureErreur();
}
finally
{
   FermetureFichier(); //ferme la ressource
}