Оператор 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

Заметки разработчика смарт-устройств

Данная инструкция не поддерживается.

См. также