Exit 跳出结构

文章目录
  1. 1. 功能
  2. 2. 语法
  3. 3. 参数
  4. 4. 返回值
  5. 5. 示例
  6. 6. 备注

功能

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

语法

1
2
3
For
Exit For
Next
1
2
3
Do
Exit Do
Loop
1
2
3
Sub
Exit Sub
End Sub
1
2
3
Function
Exit Function
End Function
1
2
3
Event
Exit Event
End Event

参数

返回值

示例

1
2
3
4
5
6
7
8
//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
1
2
3
4
5
6
7
8
9
//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
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
//不管是 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循环结束了"
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
//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 函数()
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
//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 函数()
1
2
3
4
5
6
7
//Exit Event对界面事件有效

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

备注

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