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)

End ステートメント

For Each...Next ステートメント (Visual Basic)

For...Next ステートメント (Visual Basic)

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

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

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

Try...Catch...Finally ステートメント (Visual Basic)

For Each...Next ステートメント (Visual Basic)