.NET Framework Usando un blocco finalmente

Esempio

Il blocco finally { ... } di try-finally o try-catch-finally verrà sempre eseguito, indipendentemente dal fatto che si sia verificata o meno un'eccezione (tranne quando è stata generata una StackOverflowException o è stata effettuata una chiamata a Environment.FailFast() ).

Può essere utilizzato per liberare o ripulire le risorse acquisite nel blocco try { ... } modo sicuro.

Console.Write("Please enter a filename: ");
string filename = Console.ReadLine();

Stream fileStream = null;

try
{
    fileStream = File.Open(filename);
}
catch (FileNotFoundException)
{
    Console.WriteLine("File '{0}' could not be found.", filename);
}
finally
{
    if (fileStream != null)
    {
        fileStream.Dispose();
    }
}