Exit ステートメント (Visual Basic)

プロシージャまたはブロックを終了し、プロシージャ呼び出しまたはブロック定義の次のステートメントに直ちに制御を移します。

構文

Exit { Do | For | Function | Property | Select | Sub | Try | While }

ステートメント

Exit Do
これが存在する Do ループを直ちに終了します。 実行は、Loop ステートメントの次のステートメントを使用して続行されます。 Exit DoDo ループ内でのみ使用できます。 入れ子になった Do ループ内で使用すると、Exit Do は、最も内側のループを終了し、次に高い入れ子レベルに制御を移します。

Exit For
これが存在する For ループを直ちに終了します。 実行は、Next ステートメントの次のステートメントを使用して続行されます。 Exit For は、For...Next または For Each...Next ループ内でのみ使用できます。 入れ子になった For ループ内で使用すると、Exit For は、最も内側のループを終了し、次に高い入れ子レベルに制御を移します。

Exit Function
これが存在する Function プロシージャを直ちに終了します。 実行は、Function プロシージャを呼び出したステートメントの次のステートメントを使用して続行されます。 Exit FunctionFunction プロシージャ内でのみ使用できます。

戻り値を指定するには、Exit Function ステートメントの前にある行の関数名に値を割り当てることができます。 1 つのステートメントで戻り値を割り当てて関数を終了するには、代わりに Return ステートメントを使用できます。

Exit Property
これが存在する Property プロシージャを直ちに終了します。 実行は、Property プロシージャを呼び出したステートメント、つまり、プロパティの値を要求または設定するステートメントを使用して続行されます。 Exit Property は、プロパティの Get または Set プロシージャ内でのみ使用できます。

Get プロシージャで戻り値を指定するには、Exit Property ステートメントの前にある行の関数名に値を割り当てることができます。 1 つのステートメントで戻り値を割り当てて Get プロシージャを終了するには、代わりに Return ステートメントを使用できます。

Set プロシージャでは、Exit Property ステートメントは Return ステートメントと同じです。

Exit Select
これが存在する Select Case ブロックを直ちに終了します。 実行は、End Select ステートメントの次のステートメントを使用して続行されます。 Exit SelectSelect Case ステートメント内でのみ使用できます。

Exit Sub
これが存在する Sub プロシージャを直ちに終了します。 実行は、Sub プロシージャを呼び出したステートメントの次のステートメントを使用して続行されます。 Exit SubSub プロシージャ内でのみ使用できます。

Sub プロシージャでは、Exit Sub ステートメントは Return ステートメントと同じです。

Exit Try
これが存在する Try または Catch ブロックを直ちに終了します。 実行は、存在する場合は Finally ブロックを使用して続行されます。それ以外の場合は、End Try ステートメントの次のステートメントを使用して続行されます。 Exit Try は、Finally ブロック内ではなく、Try または Catch ブロック内でのみ使用できます。

Exit While
これが存在する While ループを直ちに終了します。 実行は、End While ステートメントの次のステートメントを使用して続行されます。 Exit WhileWhile ループ内でのみ使用できます。 入れ子になった While ループ内で使用される場合、Exit WhileExit While が出現するループの 1 つ上の入れ子レベルであるループに制御を移します。

Remarks

Exit ステートメントを End ステートメントと混同しないでください。 Exit は、ステートメントの末尾を定義しません。

例 1

次の例では、index 変数が 100 より大きい場合、ループ条件によってループが停止します。 ただし、ループ内の If ステートメントでは、インデックス変数が 10 より大きい場合、Exit Do ステートメントによってループが停止されます。

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

関連項目