Оператор Exit (Visual Basic)
Завершает процедуру или блок и передает управление оператору, следующему непосредственно после вызова процедуры или определения блока.
Exit { Do | For | Function | Property | Select | Sub | Try | While }
Операторы
Exit Do
Немедленный выход из цикла Do, в котором находится этот элемент.Выполнение продолжается с инструкции, следующей за инструкцией Loop.Exit Do можно использовать только внутри цикла Do.При использовании вложенных циклов Do оператор Exit Do закрывает самый внутренний цикл и передает управление следующему уровню вложения.Exit For
Немедленный выход из цикла For, в котором находится этот элемент.Выполнение продолжается с инструкции, следующей за инструкцией Next.Exit For можно использовать только внутри цикла For...Next или For Each...Next.При использовании вложенных циклов For оператор Exit For закрывает самый внутренний цикл и передает управление следующему уровню вложения.Exit Function
Немедленный выход из процедуры Function, в которой находится этот элемент.Выполнение продолжается с инструкции, следующей за инструкцией, вызвавшей процедуру Function.Exit Function можно использовать только внутри процедуры Function.Чтобы задать возвращаемое значение, можно присвоить значение имени функции в строке перед оператором Exit Function.Для присвоения возвращаемого значения и завершения функции в одном операторе можно воспользоваться Оператор Return (Visual Basic).
Exit Property
Немедленный выход из процедуры Property, в которой находится этот элемент.Выполнение продолжается с инструкции, которая вызвала процедуру Property, т. е. с инструкции, запрашивающей или задающей значение свойства.Exit Property можно использовать только внутри процедуры Get или Set свойства.Чтобы задать возвращаемое значение в процедуре Get, можно присвоить значение имени функции в линии до оператора Exit Property.Для присвоения возвращаемого значения и завершения процедуры Get в одном операторе можно воспользоваться оператором Return.
В процедуре Set оператор Exit Property эквивалентен оператору Return.
Exit Select
Немедленный выход из блока Select Case, в котором находится этот элемент.Выполнение продолжается с инструкции, следующей за инструкцией End Select.Exit Select можно использовать только внутри инструкции Select Case.Exit Sub
Немедленный выход из процедуры Sub, в которой находится этот элемент.Выполнение продолжается с инструкции, следующей за инструкцией, вызвавшей процедуру Sub.Exit Sub можно использовать только внутри процедуры Sub.В процедуре Sub оператор Exit 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 не определяет конец инструкции.
Пример
В следующем примере условие цикла останавливает цикл, когда переменная index больше 100.Оператор If в цикле, однако, вызывает инструкцию Exit Do , чтобы остановить цикл, когда переменная index больше 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
В следующем примере возвращаемое значение присваивается имени функции myFunction и затем используется оператор Exit Function для возврата из функции.
Function myFunction(ByVal j As Integer) As Double
myFunction = 3.87 * j
Exit Function
End Function
В следующем примере используется Оператор Return (Visual Basic), чтобы назначить возвращаемое значение и выйти из функции.
Function myFunction(ByVal j As Integer) As Double
Return 3.87 * j
End Function
См. также
Ссылки
Оператор Continue (Visual Basic)
Оператор Do...Loop (Visual Basic)
Оператор For Each... Next (Visual Basic)
Оператор For... Next (Visual Basic)
Оператор Function (Visual Basic)