Рассмотрим код:VB.NET: вопрос об «использовании» блок
On Error Goto ErrorHandler
Using sr As StreamReader = New StreamReader(OpenFile)
str = sr.ReadToEnd
sr.Close()
End Using
Exit Sub
ErrorHandler:
Если есть ошибка внутри Using
блока, как вы очистить вверх sr
объект?
Объект sr
не имеет значения в ErrHandler
, поэтому sr.Close() не может быть вызван. Удаляет ли блок Using
любые ресурсы автоматически, даже если есть ошибка?
Кажется, что вам не хватает точки блока 'Using' ... –
@Dan: Я понимаю, что переменная используемого блока будет только в области использования блока, я просто не был уверен, как будет проведена большая очистка и будет ли вызвана функция Close(). – CJ7