Оператор Exit (Visual Basic)

Завершает процедуру или блокировку и немедленно передает управление инструкции после вызова процедуры или определения блока.

Синтаксис

Exit { Do | For | Function | Property | Select | Sub | Try | While }

Выписки

Exit Do
Немедленно завершает Do цикл, в котором он отображается. Выполнение продолжается с инструкцией, следующей за инструкцией Loop . Exit Do можно использовать только внутри Do цикла. При использовании в вложенных циклах Exit Do выходит из самого внутреннего цикла и передает управление на следующий более высокий уровень вложенностиDo.

Exit For
Немедленно завершает For цикл, в котором он отображается. Выполнение продолжается с инструкцией, следующей за инструкцией Next . Exit For можно использовать только внутри Forцикла ...Next или For Each...Next . При использовании в вложенных циклах Exit For выходит из самого внутреннего цикла и передает управление на следующий более высокий уровень вложенностиFor.

Exit Function
Немедленно завершает процедуру Function , в которой она отображается. Выполнение продолжается с инструкцией, следующей за инструкцией, которая называется процедурой Function . Exit Function можно использовать только внутри Function процедуры.

Чтобы указать возвращаемое значение, можно назначить значение имени функции в строке перед инструкцией Exit Function . Чтобы назначить возвращаемое значение и выйти из функции в одной инструкции, можно использовать оператор Return.

Exit Property
Немедленно завершает процедуру Property , в которой она отображается. Выполнение продолжается с инструкцией, которая называется процедурой Property , то есть с запросом или заданием значения свойства. Exit Property можно использовать только внутри свойства Get или Set процедуры.

Чтобы указать возвращаемое значение в Get процедуре, можно назначить значение имени функции в строке перед инструкцией Exit Property . Чтобы назначить возвращаемое значение и выйти Get из процедуры в одной инструкции, можно использовать инструкцию Return .

В процедуре SetExit Property оператор эквивалентен инструкции Return .

Exit Select
Немедленно выходит из Select Case блока, в котором он отображается. Выполнение продолжается с инструкцией, следующей за инструкцией End Select . Exit Select можно использовать только внутри инструкции Select Case .

Exit Sub
Немедленно завершает процедуру Sub , в которой она отображается. Выполнение продолжается с инструкцией, следующей за инструкцией, которая называется процедурой Sub . Exit Sub можно использовать только внутри Sub процедуры.

В процедуре SubExit Sub оператор эквивалентен инструкции Return .

Exit Try
Немедленно завершает Try работу или Catch блок, в котором он отображается. Выполнение продолжается с блоком Finally , если есть один или с инструкцией, следующей End Try за инструкцией в противном случае. Exit Try можно использовать только внутри Try или Catch блоке, а не внутри Finally блока.

Exit While
Немедленно завершает While цикл, в котором он отображается. Выполнение продолжается с инструкцией, следующей за инструкцией End While . Exit While можно использовать только внутри While цикла. При использовании в вложенных While циклах Exit While передает управление в цикл, который является одним вложенным уровнем над циклом, где Exit While происходит.

Замечания

Не путайте Exit операторы с End операторами. Exit не определяет конец инструкции.

Пример 1

В следующем примере условие цикла останавливает цикл, если index переменная превышает 100. Однако оператор If в цикле приводит Exit Do к остановке цикла, когда переменная индекса превышает 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 

Пример 2

В следующем примере возвращается возвращаемое значение имени myFunctionфункции, а затем используется Exit Function для возврата из функции:

Function MyFunction(ByVal j As Integer) As Double
    MyFunction = 3.87 * j
    Exit Function
End Function

Пример 3

В следующем примере оператор Return используется для назначения возвращаемого значения и выхода из функции:

Function MyFunction(ByVal j As Integer) As Double
    Return 3.87 * j
End Function

См. также