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)