Instrução End
Encerra a execução imediatamente.
Sintaxe
End
Comentários
Você pode colocar a instrução End
em qualquer lugar em um procedimento para forçar todo o aplicativo a parar de executar. End
fecha todos os arquivos abertos com uma instrução Open
e limpa todas as variáveis do aplicativo. O aplicativo fecha assim que não há outros programas que contêm referências a seus objetos e nenhum de seus códigos está em execução.
Observação
A instrução End
interrompe a execução de código abruptamente e não invoca o método Dispose
ou Finalize
, ou qualquer outro código do Visual Basic. As referências de objeto mantidas por outros programas são invalidadas. Se uma instrução End
for encontrada dentro de um bloco Try
ou Catch
, o controle não passará para o bloco Finally
correspondente.
A instrução Stop
suspende a execução, mas, ao contrário de End
, não fecha nenhum arquivo ou limpa nenhuma variável, a menos que ela seja encontrada em um arquivo executável compilado (.exe).
Como End
encerra seu aplicativo sem atender a nenhum recurso que possa estar aberto, você deve tentar fechar de maneira limpa antes de usá-lo. Por exemplo, se o aplicativo tiver formulários abertos, você deverá fechá-los antes que o controle chegue à instrução End
.
Você deve usar End
com moderação e somente quando precisar parar imediatamente. As formas normais de encerrar um procedimento (Instrução Return e Instrução Exit) não apenas fecham o procedimento de maneira limpa, mas também dão ao código de chamada a oportunidade de fechar de maneira limpa. Um aplicativo de console, por exemplo, pode simplesmente Return
do procedimento Main
.
Importante
A instrução End
chama o método Exit da classe Environment no namespace System. Exit requer que você tenha permissão UnmanagedCode
. Se você não tiver, ocorrerá um erro SecurityException.
Quando seguida por uma palavra-chave adicional, a Instrução End <keyword> delineia a definição do procedimento ou bloco apropriado. Por exemplo, End Function
encerra a definição de um procedimento Function
.
Exemplo
O exemplo a seguir usa a instrução End
para encerrar a execução do código se o usuário a solicitar.
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
Anotações do desenvolvedor de dispositivo inteligente
Não há suporte para essa instrução.