デフォルトのエラー ウィンドウではなく、エディションのエラー レポート フォームを作成したいと考えています。
エディション フォームのエラー レポートを作成するにはどうすればよいですか?
例えば:
デフォルトのエラー ウィンドウではなく、エディションのエラー レポート フォームを作成したいと考えています。
エディション フォームのエラー レポートを作成するにはどうすればよいですか?
例えば:
例外が発生したときにカスタム ハンドラーを呼び出しますか? 問題ありません。プログラムの最初に次の 3 つの魔法の行を定義するだけです (の最初の行としてSub Main
):
AddHandler Application.ThreadException, AddressOf GenericHandler
Application.SetUnhandledExceptionMode(UnhandledExceptionMode.CatchException)
AddHandler AppDomain.CurrentDomain.UnhandledException, AddressOf UnhandledHandler
次に、カスタム フォームを呼び出す GenericHandler と UnhandledHandler を定義します。
両方のハンドラーの実装例を次に示します。
Public Shared Sub GenericHandler(ByVal sender As Object, ByVal args As Threading.ThreadExceptionEventArgs)
ReportException(args.Exception)
End Sub
Public Shared Sub UnhandledHandler(ByVal sender As Object, ByVal args As UnhandledExceptionEventArgs)
If Not Debugger.IsAttached Then
ReportException(args.ExceptionObject)
End
End If
Public Shared Sub ReportException(ByVal ex As System.Exception)
MsgBox(ex.ToString, MsgBoxStyle.OkOnly Or MsgBoxStyle.Exclamation, "Unhandled exception - Please contact support")
'you can further improve this to add custom logging etc.
End Sub