次の方法で共有


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 ステートメントの前の行の関数名に値を割り当てることができます。 戻り値を割り当て、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 Select は、 Select Case ステートメント内でのみ使用できます。

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

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

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

Exit While
表示される While ループを直ちに終了します。 実行は、 End While ステートメントの後のステートメントで続行されます。 Exit While は、 While ループ内でのみ使用できます。 入れ子になった While ループ内で使用すると、 Exit While は、 Exit While が発生するループの上の 1 つの入れ子になったレベルであるループに制御を転送します。

注釈

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

こちらも参照ください