- - PR -
プログラムの終了方法
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2008-03-13 13:18
先ほどはありがとうございました。
もう1点教えて欲しいことがあります。 VB2005の環境です。 ---- ソース -------------------- Private Sub timJob_Tick '10秒毎に(タイマーのInterval設定) Try 標準モジュール処理へ Catch ex As Exception MsgBox("エラー") Me.Close() End Try End Sub --標準モジュール処理----------- Function Syori On Error GoTo ErrSyori いろいろ処理(ここでエラーを発生させた場合) ErrSyori: Call MsgBox("モジュールエラー") End Function -------------------------------- このような処理で 標準モジュール処理の中でエラーが発生した場合 モジュールエラーと表示しますが そのままにしておくと そのままtimJob_Tickが10秒毎に発生する為 モジュールエラーのMsgBoxが何個も表示してしまうのです。 何とか1回のみの表示にしたいのですが・・ 何か良い方法ないでしょうか? | ||||
|
投稿日時: 2008-03-13 14:02
エラー処理のところでタイマーを止めてやればよいのでは。
| ||||
|
投稿日時: 2008-03-13 17:04
つ例外の処理とスロー
_________________ 音速の定時退社! | ||||
|
投稿日時: 2008-03-13 18:21
タイマーでなかったら
"モジュールエラー"は1回のみの表示なのですが タイマーイベント(TICK)が発生する為 いくつも表示してしまうのですが 「エラー処理のところでタイマーを止めてやればよいのでは」 とありますがモジュールでのエラーですが どのように止めるのでしょうか?? | ||||
|
投稿日時: 2008-03-13 18:39
自分なりに1つ思いつたのがあります。
--標準モジュール処理----------- Function Syori On Error GoTo ErrSyori いろいろ処理(ここでエラーを発生させた場合) ErrSyori: Form.Timer.Stop() '*** ここにこう書くと1回だけの表示になります Call MsgBox("モジュールエラー") End Function モジュールでForm.Timer.Stop() と書くには どうでしょうか? | ||||
|
投稿日時: 2008-03-13 18:42
ではそのモジュールの関数はどこから呼ばれているのでしょうか? そのあたりを意識すると方法が思いつくのではないでしょうか。 _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||
|
投稿日時: 2008-03-13 18:45
ここに MessageBox の記述があるから問題が表面化しているという事実もありますね。 _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||
|
投稿日時: 2008-03-13 19:06
ありがとうございます。 ErrSyori: MsgBox("モジュールエラー") のMsgBoxがなかった場合 Form1に制御が戻るのですが Catch ex As Exception で 引っかかりません。 標準モジュール処理が あまりにも長く、複雑な為 Tryにしていないからでしょうか? Throwでもすればよいのでしょうが・・ どうすべきでしょうか? |