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 Forpę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 SetExit 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 SubExit 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 myFunctionfunkcji , 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

Zobacz też