実行を直ちに終了します。
構文
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
スマート デバイス開発者向けノート
このステートメントはサポートされていません。
こちらも参照ください
.NET