Оператор End
Немедленно завершает выполнение.
Синтаксис
End
Замечания
Оператор можно разместить End
в любом месте процедуры, чтобы принудительно завершить работу всего приложения. End
закрывает все файлы, открытые с помощью инструкции Open
, и очищает все переменные приложения. Приложение закрывается, как только нет других программ, содержащих ссылки на его объекты, и ни один из его кода не выполняется.
Примечание.
Оператор End
внезапно останавливает выполнение кода и не вызывает Dispose
метод или Finalize
другой код Visual Basic. Ссылки на объекты, содержащиеся в других программах, недопустимы. End
Если оператор обнаружен в пределах Try
или Catch
блоке, элемент управления не передается в соответствующий Finally
блок.
Оператор Stop
приостанавливает выполнение, но в отличие End
от него, он не закрывает файлы или очищает любые переменные, если он не обнаружен в скомпилированном исполняемом файле (.exe).
Так как End
приложение завершается без участия в каких-либо ресурсах, которые могут быть открыты, необходимо выполнить очистку, прежде чем использовать его. Например, если у приложения открыты какие-либо формы, их следует закрыть, прежде чем элемент управления достигнет инструкции End
.
Следует использовать End
смешно и только в том случае, если необходимо немедленно остановиться. Обычные способы прекращения процедуры (оператор return и exit statement) не только закрывают процедуру чисто, но и дают вызывающему коду возможность чисто закрыться. Консольное приложение, например, может просто Return
из Main
процедуры.
Внимание
Инструкция End
вызывает Exit метод Environment класса в System пространстве имен. Exit требуется, чтобы у вас было UnmanagedCode
разрешение. Если это не так, SecurityException возникает ошибка.
За которым следует дополнительная ключевое слово, инструкция End <ключевое слово> очертает конец определения соответствующей процедуры или блока. Например, End Function
завершает определение Function
процедуры.
Пример
В следующем примере оператор используется End
для прекращения выполнения кода, если пользователь запрашивает его.
Sub Form_Load()
Dim answer As MsgBoxResult
answer = MsgBox("Do you want to quit now?", MsgBoxStyle.YesNo)
If answer = MsgBoxResult.Yes Then
MsgBox("Terminating program")
End
End If
End Sub
Заметки разработчика смарт-устройств
Данная инструкция не поддерживается.