-3

VB.net でプログラムの実行を停止する必要があります。繰り返し構造内で、プログラムは変数が true か false かをチェックします。変数が false の場合、プログラムの実行を停止する必要があります。プログラムを閉じたくありませんが、単に停止します。私が見つけた 1 つの方法は、例外を発生させることでしたが、エラー メッセージをユーザーに表示したくありませんでした。それを行う最良の方法は何ですか?

Do
  If myvariable=false then
  throw new exception... 'Silent exception
  end if
Loop until ….

デイビス

4

3 に答える 3

1

以下のコメントに基づいて編集します。

その場合、私は次のようなものを使用します。

Do   
    If myvariable=false then   
        Return
    end if   
Loop until ….  

あなたが何をしたいのか本当にわかりません。

を使用してアプリケーションを閉じることができますApplication.Exit()

すべてのメッセージ ポンプに終了する必要があることを通知し、メッセージが処理された後にすべてのアプリケーション ウィンドウを閉じます。

本当に突然にしたい場合は、EndStatement を呼び出すことができます。

Terminates execution immediately.

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

ステートメントを使用してStop実行を中断できますが、デバッガーが呼び出されます。

統合開発環境 (IDE) の外部で実行されているコードで Stop ステートメントが検出されると、デバッガーが呼び出されます。これは、コードがデバッグ モードでコンパイルされたかリテール モードでコンパイルされたかに関係なく当てはまります。

Doまたは、ステートメントを終了したいだけの場合は、これを試すことができます

Do   
    If myvariable=false then   
        Exit Do
    end if   
Loop until ….  
于 2012-05-12T00:57:35.307 に答える
0

本当に停止したい場合は、Stopキーワードを使用できます。ただし、exeとして実行しているか、IDEで実行しているかによって結果が異なるため、これが実際に必要なものであるとの質問には自信がありません。

あなたの質問に対するもう少しの文脈はあなたの問題に対する最良の答えを見つけるのに役立つでしょう。

于 2012-05-11T11:25:37.130 に答える
0

exit ステートメントでループを終了できます。または、例外をスローする方法を使用して、その特定の例外をキャッチして無視する Try/Catch ブロックでループを囲むことができます。

于 2012-05-11T11:22:45.440 に答える