Procedura: pulire le risorse con un blocco Try…Finally in Visual Basic
Aggiornamento: novembre 2007
È 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: verificare il codice con un blocco Try…Catch in Visual Basic
Procedura: controllare l'eccezione interna di un'eccezione
Procedura: eliminare una risorsa di sistema
Concetti
Gestione delle eccezioni per gli utenti di Visual Basic 6.0
Riferimenti
Istruzione Using (Visual Basic)