次の方法で共有


End ステートメント

実行を直ちに終了します。

構文

End  

注釈

プロシージャ内の任意の場所に End ステートメントを配置して、アプリケーション全体の実行を強制的に停止できます。 End は、 Open ステートメントで開かれたすべてのファイルを閉じ、アプリケーションのすべての変数をクリアします。 アプリケーションは、オブジェクトへの参照を保持している他のプログラムがなく、そのコードが実行されていないとすぐに閉じます。

End ステートメントは、コードの実行を突然停止し、DisposeまたはFinalizeメソッド、またはその他の Visual Basic コードを呼び出しません。 他のプログラムによって保持されているオブジェクト参照は無効になります。 End ステートメントが Try または Catch ブロック内で検出された場合、コントロールは対応する Finally ブロックに渡されません。

Stop ステートメントは実行を中断しますが、Endとは異なり、コンパイル済みの実行可能ファイル (.exe) ファイルで検出されない限り、ファイルを閉じたり変数をクリアしたりすることはありません。

Endは、開いている可能性のあるリソースに参加せずにアプリケーションを終了するため、使用する前に、完全に閉じるようにしてください。 たとえば、アプリケーションでフォームが開いている場合は、コントロールが End ステートメントに到達する前にフォームを閉じる必要があります。

Endは控えめに使用し、すぐに停止する必要がある場合にのみ使用してください。 プロシージャを終了する通常の方法 (Return ステートメントExit ステートメント) は、プロシージャをクリーンに閉じるだけでなく、呼び出し元のコードを正常に閉じる機会を与えます。 たとえば、コンソール アプリケーションは、Main プロシージャから単純にReturnできます。

Von Bedeutung

End ステートメントは、System名前空間のEnvironment クラスのExit メソッドを呼び出します。 Exit には、 UnmanagedCode アクセス許可が必要です。 そうしないと、 SecurityException エラーが発生します。

追加のキーワードの後に End <keyword> ステートメント は、適切なプロシージャまたはブロックの定義の末尾を示します。 たとえば、 End Function は、 Function プロシージャの定義を終了します。

次の例では、 End ステートメントを使用して、ユーザーが要求した場合にコードの実行を終了します。

Sub Form_Load()
    Dim answer As MsgBoxResult
    answer = MsgBox("Do you want to quit now?", MsgBoxStyle.YesNo)
    If answer = MsgBoxResult.Yes Then
        MsgBox("Terminating program")
        End
    End If
End Sub

スマート デバイス開発者向けノート

このステートメントはサポートされていません。

こちらも参照ください