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...NextFor Each...Next 循环内使用。 在嵌套的 For 循环中使用时,Exit For 退出最内层循环并将控制转移到下一个更高级别的嵌套。

Exit Function
立即退出其出现的 Function 过程。 继续执行调用 Function 过程的语句之后的语句。 Exit Function 只能在 Function 过程内使用。

若要指定返回值,可以在 Exit Function 语句前面的一行上为函数名赋值。 若要在一个语句中分配返回值并退出函数,可以改用 Return 语句

Exit Property
立即退出其出现的 Property 过程。 继续执行调用 Property 过程的语句,即请求或设置属性值的语句。 Exit Property 只能在属性的 GetSet 过程中使用。

若要在 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
立即退出其出现的 TryCatch 块。 如果有 Finally 块,则继续执行,否则继续执行 End Try 语句之后的语句。 Exit Try 只能在 TryCatch 块内使用,而不能在 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

另请参阅