End ステートメントEnd Statement

直ちに実行を終了します。Terminates execution immediately.




プロシージャの任意の場所に End ステートメントを配置して、アプリケーション全体の実行を強制的に停止することができます。You can place the End statement anywhere in a procedure to force the entire application to stop running. End によって、Open ステートメントを使用して開いたファイルがすべて閉じられ、アプリケーションのすべての変数がクリアされます。End closes any files opened with an Open statement and clears all the application's variables. オブジェクトへの参照を保持している他のプログラムがなくなり、そのコードが実行されなくなると、アプリケーションはすぐに終了します。The application closes as soon as there are no other programs holding references to its objects and none of its code is running.


End ステートメントを使用すると、コードの実行は突然停止され、Dispose または Finalize メソッド、またはその他の Visual Basic コードは呼び出されません。The End statement stops code execution abruptly, and does not invoke the Dispose or Finalize method, or any other Visual Basic code. 他のプログラムに保持されているオブジェクト参照は無効になります。Object references held by other programs are invalidated. Try または Catch ブロック内に End ステートメントが存在すると、制御は対応する Finally ブロックには渡されません。If an End statement is encountered within a Try or Catch block, control does not pass to the corresponding Finally block.

Stop ステートメントでは実行が中断されますが、End とは異なり、コンパイル済みの実行可能 (.exe) ファイルで検出されていない限り、ファイルを閉じたり、変数をクリアしたりしません。The Stop statement suspends execution, but unlike End, it does not close any files or clear any variables, unless it is encountered in a compiled executable (.exe) file.

End を使用すると、開いている可能性のあるリソースを処理することなくアプリケーションが終了するため、使用する前に完全に終了するようにします。Because End terminates your application without attending to any resources that might be open, you should try to close down cleanly before using it. たとえば、アプリケーションでフォームを開いている場合は、コントロールが End ステートメントに到達する前にフォームを閉じる必要があります。For example, if your application has any forms open, you should close them before control reaches the End statement.

End は慎重に使用し、すぐに停止する必要がある場合にのみ使用してください。You should use End sparingly, and only when you need to stop immediately. プロシージャを終了する通常の方法 (Return ステートメントExit ステートメント) では、プロシージャが完全に終了されるだけでなく、呼び出し元のコードにも正常に終了する機会が与えられます。The normal ways to terminate a procedure (Return Statement and Exit Statement) not only close down the procedure cleanly but also give the calling code the opportunity to close down cleanly. たとえば、コンソール アプリケーションでは、Main プロシージャから単に Return を実行できます。A console application, for example, can simply Return from the Main procedure.


End ステートメントを使用すると、System 名前空間内の Environment クラスの Exit メソッドが呼び出されます。The End statement calls the Exit method of the Environment class in the System namespace. Exit を使用するには UnmanagedCode アクセス許可が必要です。Exit requires that you have UnmanagedCode permission. そうしないと、SecurityException エラーが発生します。If you do not, a SecurityException error occurs.

追加のキーワードが続く場合、End <keyword> ステートメントを使用して、適切なプロシージャまたはブロックの定義の終わりを示します。When followed by an additional keyword, End <keyword> Statement delineates the end of the definition of the appropriate procedure or block. たとえば、End Function を使用して Function プロシージャの定義を終了します。For example, End Function terminates the definition of a Function procedure.


次の例では、End ステートメントを使用して、ユーザーから要求された場合にコードの実行を終了します。The following example uses the End statement to terminate code execution if the user requests it.

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 If
End Sub

スマート デバイス開発者向けのメモSmart Device Developer Notes

このステートメントはサポートされていません。This statement is not supported.

関連項目See also