Condividi tramite


Procedura: pulire le risorse con un blocco Try…Finally in Visual Basic

È possibile utilizzare un'istruzione Finally all'interno di un blocco Try per garantire che le risorse allocate vengano liberate. Il codice in un blocco Finally viene eseguito dopo il codice di gestione delle eccezioni ma prima che il controllo venga restituito alla routine chiamante. Il codice in un blocco Finally verrà eseguito anche se viene generata un'eccezione e persino se si aggiunge un'esplicita istruzione Exit Function o Exit Sub all'interno di un blocco Catch.

Se non è necessario rilevare eccezioni specifiche, l'istruzione Using si comporta come un blocco Try…Finally e garantisce l'eliminazione delle risorse, indipendentemente dalla modalità di uscita dal blocco. Ciò vale anche per le eccezioni non gestite. Per ulteriori informazioni, vedere Istruzione Using (Visual Basic).

Per pulire le risorse mediante un'istruzione Finally

  • Inserire il codice che si desidera eseguire indipendentemente dalle eccezioni all'interno del blocco Finally. Il codice riportato di seguito crea un oggetto StreamReader e lo utilizza per la lettura da un file.

    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
    

Vedere anche

Attività

Procedura: testare il codice con un blocco Try…Catch in Visual Basic

Procedura: controllare l'eccezione interna di un'eccezione (Visual Basic)

How to: Dispose of a System Resource

Riferimenti

Istruzione Using (Visual Basic)

Altre risorse

Attività di gestione delle eccezioni (Visual Basic)