Referencia del lenguaje C#
try-finally (Referencia de C#)

El bloque finally es útil para limpiar cualquier recurso asignado en el bloque try, así como también para ejecutar cualquier código que deba ejecutarse incluso si hay una excepción. El control se transfiere siempre al bloque finally independientemente de cómo finalice el bloque try.

Comentarios

Mientras que catch se utiliza para controlar las excepciones que se producen en un bloque de instrucciones, finally se emplea para asegurar la ejecución de un bloque de instrucciones sin importar cómo finaliza el bloque try anterior.

Ejemplo

En este ejemplo, existe una instrucción de conversión no válida que produce una excepción. Cuando se ejecuta el programa, se obtiene un mensaje de error en tiempo de ejecución, pero la cláusula finally se ejecuta de todas formas y muestra el resultado.

// try-finally
using System;
public class MainClass
{
    static void Main()
    {
        int i = 123;
        string s = "Some string";
        object o = s;

        try
        {
            // Invalid conversion; o contains a string not an int
            i = (int)o;
        }
        finally
        {
            Console.Write("i = {0}", i);
        }
    }
}
Comentarios

El ejemplo anterior hace que se produzca la excepción System.InvalidCastException.

A pesar de que se capturó una excepción, la instrucción de salida incluida en el bloque finally se ejecutará de todas formas, es decir:

i = 123

Para obtener más información acerca de finally, vea try-catch-finally.

Especificación del lenguaje C#

Para obtener más información, vea las secciones siguientes de Especificación del lenguaje C#.

  • 5.3.3.14 Instrucciones Try-finally

  • 8,11 La instrucción try

  • 16 Excepciones

Vea también

Tareas

Cómo: Iniciar excepciones explícitamente

Referencia

Palabras clave de C#
The try, catch, and throw Statements
Instrucciones para el control de excepciones (Referencia de C#)
throw (Referencia de C#)
try-catch (Referencia de C#)

Conceptos

Guía de programación de C#

Otros recursos

Referencia de C#

Etiquetas :


Page view tracker