Evaluar y enviar comentarios
Contraer todo/Expandir todo Contraer todo
Esta página es específica de
Microsoft Visual Studio 2005/.NET Framework 2.0

Hay además otras versiones disponibles para:
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.

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.

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

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.

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

Contenido de la comunidad   ¿Qué es Community Content?
Agregar contenido nuevo RSS  Anotaciones
Processing
© 2009 Microsoft Corporation. Reservados todos los derechos. Términos de uso | Marcas Registradas | Privacidad
Page view tracker