.NET Framework Usando un bloque Finalmente


Ejemplo

El bloque finally { ... } de try-finally o try-catch-finally siempre se ejecutará, independientemente de si se produjo una excepción o no (excepto cuando se ha lanzado una excepción StackOverflowException o se ha realizado una llamada a Environment.FailFast() ).

Puede utilizarse para liberar o limpiar los recursos adquiridos en el bloque try { ... } forma segura.

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();
    }
}