Compartir a través de


Cómo: Liberar recursos con un bloque Try...Finally en Visual Basic

Una instrucción Finally se puede utilizar dentro de un bloque Try para garantizar que los recursos asignados estén limpios. El código en un bloque Finally se ejecuta después del código del control de excepciones, pero antes de que el control vuelva al procedimiento de llamada. El código de un bloque Finally se ejecuta incluso si el código produce una excepción e incluso si agrega una instrucción explícita Exit Function (o Exit Sub) dentro de un bloque Catch.

Si no necesita detectar excepciones específicas, la instrucción Using se comporta como un bloque Try…Finally y garantiza la disposición de los recursos, independientemente de cómo salga del bloque. Esto es verdad incluso en el caso de una excepción no controlada. Para obtener más información, vea Using (Instrucción, Visual Basic).

Para limpiar los recursos con una instrucción Finally

  • Coloque el código que le gustaría ejecutar sin tener en cuenta las excepciones dentro del bloque Finally. El código siguiente crea StreamReader y lo utiliza para leer un archivo.

    Dim reader As New System.IO.StreamReader("C:\testfile")
    Try
        reader.ReadToEnd()
    Catch ex As System.IO.IOException
        MsgBox("Could not read file")
    Finally
        'This command is executed whether or not the file can be read
        reader.Close()
    End Try
    

Vea también

Tareas

Cómo: Comprobar código con un bloque Try...Catch en Visual Basic

Cómo: Comprobar la excepción interna de una excepción (Visual Basic)

Cómo: Deshacerse de un recurso del sistema (Visual Basic)

Referencia

Using (Instrucción, Visual Basic)

Otros recursos

Tareas de control de excepciones (Visual Basic)