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 语句。
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
不定义语句的结尾。
示例 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