跳到主要内容

Exit 跳出结构

🎯功能

跳出当前的循环结构或者函数子程序结构或者界面事件结构

📜语法

For
Exit For
Next
Do
Exit Do
Loop
Sub
Exit Sub
End Sub
Function
Exit Function
End Function
Event
Exit Event
End Event

📥参数

📤返回

💡示例

//Exit For可以跳出For循环, 类似For 10 或 For i = 0 To 10 或 For Each 等For循环都可以
For i = 1 To 10
If i = 5 Then
//当i的值等于5时跳出当前For循环
Exit For
End If
Next
TracePrint "i=" & i
//Exit Do可以跳出Do循环, 类似Do While 或 Do Until 等Do循环都可以
Do
i = i + 1
If i = 3 Then
//当i的值等于3时跳出当前Do循环
Exit Do
End If
Loop
TracePrint "i=" & i
//不管是 Exit For 还是 Exit Do , 都仅对当前最近的循环有效
//例子1
For a = 1 to 5
TracePrint "这是第一层的For循环, a = " & a
For b = 1 to 5
TracePrint "这是第二层的For循环, b = " & b
If b = 2 Then
TracePrint "这是跳出For循环, 所以找最近的当前For循环"
TracePrint "这里离第二层For循环最近, 所以这里跳出的是第二层For循环, 对第一层没影响"
Exit For
End If
Next
Next
TracePrint "例子1循环结束了"

//例子2
//如果你想要跳出深层嵌套的循环, 那么可以结合For循环与Do循环实现
Do
TracePrint "这是第一层的Do循环"
For a = 1 to 5
TracePrint "这是第一层的For循环, a = " & a
For b = 1 to 5
TracePrint "这是第二层的For循环, b = " & b
If b = 2 Then
TracePrint "这是跳出Do循环, 所以找最近的当前Do循环"
TracePrint "这里离第一层Do循环最近, 所以这里跳出的是第一层Do循环"
Exit Do
End If
Next
Next
Loop
TracePrint "例子2循环结束了"
//Exit Sub与Exit Function分别跳出Sub子程序与Function函数

Sub 子程序()
For 5
TracePrint "这里直接跳出了当前的子程序"
Exit Sub
Next
End Sub


Function 函数()
For 5
TracePrint "这里直接跳出了当前的函数"
Exit Function
Next
End Function

Call 子程序()
Call 函数()
//Exit Sub与Exit Function分别跳出Sub子程序与Function函数

Sub 子程序()
For 5
TracePrint "这里直接跳出了当前的子程序"
Exit Sub
Next
End Sub


Function 函数()
For 5
TracePrint "这里直接跳出了当前的函数"
Exit Function
Next
End Function

Call 子程序()
Call 函数()
//Exit Event对界面事件有效

Event Form1.Load
TracePrint "界面加载完成"
Exit Event
TracePrint "这里代码不会被执行"
End Event

📘备注

  • 跳出仅对当前最近的结构有效
  • 请注意, 没有 Exit While , 也没有 Exit If