Partilhar via


Como: Limpar recursos com um bloco Try …Finally no Visual Basic

Uma instrução Finally pode ser usada em um bloco Try para assegurar que os recursos alocados estão vazios. O código em um bloco Finally será executado após o código de manipulação de exceção, mas antes de o controle retornar ao procedimento de chamada. O código em um bloco Finally será executado mesmo se o seu código gera uma exceção, e mesmo se você adicionar uma instrução Exit Function (ou Exit Sub) explícita em um bloco Catch.

Se você não precisa capturar exceções específicas, a declaração Using funciona como um bloco Try…Finally e garante o descarte dos recursos, sem importar como você sai do bloco. Isto é verdadeiro mesmo no caso de uma exceção não manipulada. Para obter mais informações, consulte Instrução Using (Visual Basic).

Para limpar recursos com uma instrução Finally

  • Coloque o código que você deseja que seja executado independentemente de exceções dentro do bloco Finally. O código a seguir cria um StreamReader e usa-o para ler um arquivo.

    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
    

Consulte também

Tarefas

Como: Código de teste com um bloco Try …Bloco catch no Visual Basic

Como: Verifique a exceção interna de uma exceção (Visual Basic)

Como: Descartar um recurso do sistema (Visual Basic)

Referência

Instrução Using (Visual Basic)

Outros recursos

Tarefas (Visual Basic) de manipulação de exceção