Exit ステートメント (Visual Basic)
更新 : 2007 年 11 月
プロシージャまたはブロックを終了し、そのプロシージャ呼び出しまたはブロック定義の次のステートメントに即座に制御を移します。
Exit { Do | For | Function | Property | Select | Sub | Try | While }
指定項目
Do
このステートメントのある Do ループを直ちに抜けます。Loop ステートメントの後ろのステートメントから実行が継続されます。Exit Do が使用できるのは Do ループの中だけです。入れ子構造になっている Do ループの中で使用すると、Exit Do は内側のループを抜け、入れ子構造の 1 つ外側のレベルに制御を移します。For
このステートメントのある For ループを直ちに抜けます。Next ステートメントの後ろのステートメントから実行が継続されます。Exit For が使用できるのは For...Next ループまたは For Each...Next ループの中だけです。入れ子構造になっている For ループの中で使用すると、Exit For は内側のループを抜け、入れ子構造の 1 つ外側のレベルに制御を移します。Function
このステートメントのある Function プロシージャを直ちに抜けます。Function プロシージャを呼び出したステートメントの後ろのステートメントから実行が継続されます。Exit Function が使用できるのは Function プロシージャの中だけです。Property
このステートメントのある Property プロシージャを直ちに抜けます。Property プロシージャを呼び出したステートメント、つまりプロパティの値を要求または設定しているステートメントから実行が継続されます。Exit Property が使用できるのは、プロパティの Get プロシージャまたは Set プロシージャの中だけです。Select
このステートメントのある Select Case を直ちに抜けます。End Select ステートメントの後ろのステートメントから実行が継続されます。Exit Select が使用できるのは Select Case ステートメントの中だけです。Sub
このステートメントのある Sub プロシージャを直ちに抜けます。Sub プロシージャを呼び出したステートメントの後ろのステートメントから実行が継続されます。Exit Sub が使用できるのは Sub プロシージャの中だけです。Try
このステートメントのある Try ブロックまたは Catch ブロックを直ちに抜けます。Finally ブロックが 1 つ存在する場合はそこから、そうでない場合は End Try ステートメントの後ろのステートメントから実行を継続します。Exit Try が使用できるのは Try ブロックまたは Catch ブロックの中だけです。Finally ブロックの中では使用できません。While
このステートメントのある While ループを直ちに抜けます。End While ステートメントの後ろのステートメントから実行が継続されます。Exit While が使用できるのは While ループの中だけです。While ループが入れ子構造になっている場合、Exit While のあるループの 1 つ外側のループに制御が移ります。
解説
Exit ステートメントと End ステートメントを混同しないでください。Exit はステートメントの終了を定義するステートメントではありません。
使用例
Exit ステートメントを使用して、For...Next ループ、Do ループおよび Sub プロシージャを抜けるコード例は、次のとおりです。
Sub exitStatementDemo()
Dim demoNum As Single
' Set up an infinite loop.
Do
For i As Integer = 1 To 10000000
demoNum = Int(Rnd() * 100)
Select Case demoNum
Case 7 : Exit For
Case 29 : Exit Do
Case 54 : Exit Sub
End Select
Next i
Loop
End Sub
参照
参照
Do...Loop ステートメント (Visual Basic)
For Each...Next ステートメント (Visual Basic)
For...Next ステートメント (Visual Basic)
Function ステートメント (Visual Basic)