Практическое руководство. Очистка ресурсов при помощи блока Try… Finally в Visual Basic
Оператор Finally можно использовать внутри блока Try для очистки выделенных ресурсов. Код, содержащийся в блоке Finally, выполняется после кода обработки исключений, но до возврата управления в вызывающую процедуру. Код в блоке Finally выполняется, даже если в коде возникнет исключение, или даже если явно добавлен оператор Exit Function (или Exit Sub) в блоке Catch.
Если не требуется перехватывать определенные исключения, оператор Using действует аналогично блоку Try…Finally и гарантирует освобождение ресурсов независимо от способа выхода из блока. Это справедливо даже в случае необработанного исключения. Дополнительные сведения см. в разделе Оператор Using (Visual Basic).
Чтобы очистить ресурсы с помощью оператора Finally
Поместите код, который должен выполняться независимо от исключений, внутри блока Finally. Следующий код создает объект StreamReader и использует его для чтения из файла.
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
См. также
Задачи
Практическое руководство. Проверка кода с помощью блока Try… Catch в Visual Basic
Практическое руководство. Проверка наличия у исключения вложенного исключения (Visual Basic)
Практическое руководство. Удаление системного ресурса (Visual Basic)