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