End ステートメント
直ちに実行を終了します。
構文
End
Remarks
プロシージャの任意の場所に End
ステートメントを配置して、アプリケーション全体の実行を強制的に停止することができます。 End
によって、Open
ステートメントを使用して開いたファイルがすべて閉じられ、アプリケーションのすべての変数がクリアされます。 オブジェクトへの参照を保持している他のプログラムがなくなり、そのコードが実行されなくなると、アプリケーションはすぐに終了します。
注意
End
ステートメントを使用すると、コードの実行は突然停止され、Dispose
または Finalize
メソッド、またはその他の Visual Basic コードは呼び出されません。 他のプログラムに保持されているオブジェクト参照は無効になります。 Try
または Catch
ブロック内に End
ステートメントが存在すると、制御は対応する Finally
ブロックには渡されません。
Stop
ステートメントでは実行が中断されますが、End
とは異なり、コンパイル済みの実行可能 (.exe) ファイルで検出されていない限り、ファイルを閉じたり、変数をクリアしたりしません。
End
を使用すると、開いている可能性のあるリソースを処理することなくアプリケーションが終了するため、使用する前に完全に終了するようにします。 たとえば、アプリケーションでフォームを開いている場合は、コントロールが End
ステートメントに到達する前にフォームを閉じる必要があります。
End
は慎重に使用し、すぐに停止する必要がある場合にのみ使用してください。 プロシージャを終了する通常の方法 (Return ステートメントと Exit ステートメント) では、プロシージャが完全に終了されるだけでなく、呼び出し元のコードにも正常に終了する機会が与えられます。 たとえば、コンソール アプリケーションでは、Main
プロシージャから単に Return
を実行できます。
重要
End
ステートメントを使用すると、System 名前空間内の Environment クラスの Exit メソッドが呼び出されます。 Exit を使用するには UnmanagedCode
アクセス許可が必要です。 そうしないと、SecurityException エラーが発生します。
その後に追加のキーワードが続く場合、End <キーワード> ステートメントを使用して、適切なプロシージャまたはブロックの定義の終わりを示します。 たとえば、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
スマート デバイス開発者向けのメモ
このステートメントはサポートされていません。
関連項目
.NET