掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
異なるフォーム間の例外を捕捉するには? (ID:82998)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
いつも参考にさせていただいています。 例外処理について質問です。 下記のソースをコンパイルし、開発環境上で実行(デバック)した場合 Form2のボタンを押下すると例外が発生 Form1側でその例外をCatchし、メッセージボックスにて例外の内容を表示する。 上記のデバック時に作成したEXEを単体で起動した場合 Form2のボタン2を押下すると例外が発生 Form1まで制御が戻らず、異常終了のメッセージダイアログが表示される。 (赤バッテンで、詳細、続行、終了ボタンがあるダイアログ) 表示内容は System.InvalidCastException: 文字列 "test" から型 'Integer' へのキャストが有効ではありません。 ---> System.FormatException: 入力文字列の形式が正しくありません。 リリース版でリコンパイルした場合でもForm1まで制御は戻らず、 異常終了のメッセージダイアログが表示される。 Form1側で例外処理を行いたいのですが、どなたか解決方法ご存知の方 ご指導お願いします。 開発環境は WindowsXP Microsoft Development Environment2003 Microsoft .NET Framework 1.1 です。 情報等不足がありましたらご指摘お願いします。 (ソース) '==================================================================== '例外を受け取り文言を表示 'Form1上 '==================================================================== Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) _ Handles Button1.Click Dim objForm As New Form2 Try objForm.ShowDialog() Catch ex As Exception MsgBox(ex.Message.ToString) Finally objForm = Nothing End Try End Sub '==================================================================== '例外を発生させThrow 'Form2上 '==================================================================== Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) _ Handles Button1.Click Dim intPool As Integer = 0 Dim strPool As String = "test" Try '意図的にキャストエラー発生 intPool = strPool Catch ex As Exception '例外を呼出元に返却 Throw ex End Try End Sub '====================================================================
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.