End — Instrukcja
Natychmiast kończy wykonywanie.
Składnia
End
Uwagi
Instrukcję End
można umieścić w dowolnym miejscu w procedurze, aby wymusić działanie całej aplikacji. End
Zamyka wszystkie pliki otwarte za pomocą Open
instrukcji i czyści wszystkie zmienne aplikacji. Aplikacja zamyka się natychmiast, gdy nie ma żadnych innych programów przechowujące odwołania do jego obiektów i żaden z jego kodu nie jest uruchomiony.
Uwaga
Instrukcja End
nagle zatrzymuje wykonywanie kodu i nie wywołuje Dispose
metody lub Finalize
żadnego innego kodu Języka Visual Basic. Odwołania do obiektów przechowywane przez inne programy są unieważniane. End
Jeśli instrukcja napotkana w bloku Try
lubCatch
, kontrolka nie zostanie przekazana do odpowiedniego Finally
bloku.
Instrukcja Stop
zawiesza wykonywanie, ale w przeciwieństwie do End
, nie zamyka żadnych plików ani nie czyści żadnych zmiennych, chyba że zostanie napotkana w skompilowanym pliku wykonywalnym (.exe).
Ponieważ End
aplikacja kończy działanie bez udziału w zasobach, które mogą być otwarte, należy spróbować zamknąć ją w sposób czysty przed jego użyciem. Jeśli na przykład aplikacja ma otwarte formularze, należy je zamknąć, zanim kontrolka osiągnie instrukcję End
.
Należy używać End
oszczędnie i tylko wtedy, gdy trzeba natychmiast zatrzymać. Normalne sposoby zakończenia procedury (Return Statement i Exit Statement) nie tylko zamykają procedurę czysto, ale także dają kod wywołujący możliwość czystego zamknięcia. Na przykład aplikacja konsolowa może po prostu Return
wykonać procedurę Main
.
Ważne
Instrukcja End
wywołuje metodę ExitEnvironment klasy w System przestrzeni nazw. Exit wymaga, aby masz UnmanagedCode
uprawnienia. Jeśli tego nie zrobisz, SecurityException wystąpi błąd.
Gdy następuje po nim dodatkowe słowo kluczowe, instrukcja słowa kluczowego> End <określa koniec definicji odpowiedniej procedury lub bloku. Na przykład End Function
kończy definicję Function
procedury.
Przykład
W poniższym przykładzie użyto instrukcji , End
aby zakończyć wykonywanie kodu, jeśli użytkownik zażąda go.
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
Uwagi dla deweloperów inteligentnych urządzeń
Ta instrukcja nie jest obsługiwana.