0

デフォルトのエラー ウィンドウではなく、エディションのエラー レポート フォームを作成したいと考えています。

エディション フォームのエラー レポートを作成するにはどうすればよいですか?

例えば:

ここに画像の説明を入力

4

1 に答える 1

1

例外が発生したときにカスタム ハンドラーを呼び出しますか? 問題ありません。プログラムの最初に次の 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
于 2013-02-05T15:03:55.917 に答える