Exit — Instrukcja (Visual Basic)
Zamyka procedurę lub blok i przekazuje kontrolkę natychmiast do instrukcji zgodnie z wywołaniem procedury lub definicją bloku.
Składnia
Exit { Do | For | Function | Property | Select | Sub | Try | While }
Zestawienia
Exit Do
Natychmiast zamyka pętlę Do
, w której się pojawia. Wykonanie jest kontynuowane z instrukcją po instrukcji Loop
. Exit Do
można używać tylko wewnątrz Do
pętli. W przypadku użycia w zagnieżdżonych Do
pętlach Exit Do
zamyka najbardziej wewnętrzną pętlę i przenosi kontrolkę do następnego wyższego poziomu zagnieżdżania.
Exit For
Natychmiast zamyka pętlę For
, w której się pojawia. Wykonanie jest kontynuowane z instrukcją po instrukcji Next
. Exit For
można używać tylko wewnątrz For
pętli ...Next
lub For Each
...Next
. W przypadku użycia w zagnieżdżonych For
pętlach Exit For
zamyka najbardziej wewnętrzną pętlę i przenosi kontrolkę do następnego wyższego poziomu zagnieżdżania.
Exit Function
Natychmiast kończy procedurę Function
, w której się pojawia. Wykonanie jest kontynuowane z instrukcją po instrukcji, która nazwała procedurę Function
. Exit Function
można używać tylko wewnątrz Function
procedury.
Aby określić wartość zwracaną, można przypisać wartość do nazwy funkcji w wierszu przed instrukcją Exit Function
. Aby przypisać wartość zwracaną i zamknąć funkcję w jednej instrukcji, możesz zamiast tego użyć instrukcji Return.
Exit Property
Natychmiast kończy procedurę Property
, w której się pojawia. Wykonanie jest kontynuowane z instrukcją, która nazwała procedurę Property
, czyli z instrukcją żądającą lub ustawiającą wartość właściwości. Exit Property
można używać tylko wewnątrz właściwości Get
lub Set
procedury.
Aby określić wartość zwracaną w procedurze Get
, można przypisać wartość do nazwy funkcji w wierszu przed instrukcją Exit Property
. Aby przypisać wartość zwracaną i zakończyć procedurę Get
w jednej instrukcji, możesz zamiast tego użyć instrukcji Return
.
W procedurze Set
Exit Property
instrukcja jest równoważna instrukcji Return
.
Exit Select
Natychmiast zamyka Select Case
blok, w którym się pojawia. Wykonanie jest kontynuowane z instrukcją po instrukcji End Select
. Exit Select
można używać tylko wewnątrz instrukcji Select Case
.
Exit Sub
Natychmiast kończy procedurę Sub
, w której się pojawia. Wykonanie jest kontynuowane z instrukcją po instrukcji, która nazwała procedurę Sub
. Exit Sub
można używać tylko wewnątrz Sub
procedury.
W procedurze Sub
Exit Sub
instrukcja jest równoważna instrukcji Return
.
Exit Try
Natychmiast zamyka blok Try
lub Catch
, w którym się pojawia. Wykonanie jest kontynuowane z blokiem Finally
, jeśli istnieje, lub z instrukcją po instrukcji End Try
w przeciwnym razie. Exit Try
można używać tylko wewnątrz bloku Try
lub Catch
, a nie wewnątrz Finally
bloku.
Exit While
Natychmiast zamyka pętlę While
, w której się pojawia. Wykonanie jest kontynuowane z instrukcją po instrukcji End While
. Exit While
można używać tylko wewnątrz While
pętli. W przypadku użycia w pętlach Exit While
zagnieżdżonych While
kontrolka przenosi do pętli, która jest jednym zagnieżdżonym poziomem powyżej pętli, w której Exit While
występuje.
Uwagi
Nie należy mylić Exit
instrukcji z instrukcjami End
. Exit
nie definiuje końca instrukcji.
Przykład 1
W poniższym przykładzie warunek pętli zatrzymuje pętlę, gdy zmienna index
jest większa niż 100. Instrukcja If
w pętli powoduje Exit Do
jednak zatrzymanie pętli przez instrukcję, gdy zmienna indeksu jest większa niż 10.
Dim index As Integer = 0
Do While index <= 100
If index > 10 Then
Exit Do
End If
Debug.Write(index.ToString & " ")
index += 1
Loop
Debug.WriteLine("")
' Output: 0 1 2 3 4 5 6 7 8 9 10
Przykład 2
Poniższy przykład przypisuje wartość zwracaną do nazwy myFunction
funkcji , a następnie używa Exit Function
metody do zwrócenia z funkcji:
Function MyFunction(ByVal j As Integer) As Double
MyFunction = 3.87 * j
Exit Function
End Function
Przykład 3
W poniższym przykładzie użyto instrukcji Return, aby przypisać wartość zwracaną i zakończyć działanie funkcji:
Function MyFunction(ByVal j As Integer) As Double
Return 3.87 * j
End Function