获取 Windows 错误报告对话框
在我的 C# 应用程序中,即使我处理异常:
Application.SetUnhandledExceptionMode(UnhandledExceptionMode.CatchException);
AppDomain.CurrentDomain.UnhandledException +=
new UnhandledExceptionEventHandler(CurrentDomain_UnhandledException);
然后在处理程序中显示对话框并执行 Application.Exit 仍然收到 Windows 错误报告对话框“发送”、“不发送”...
如何防止弹出 Windows 错误报告对话框?
事实上,如果从主窗体构造函数抛出异常,则程序将以 Windows 错误报告 dlg 结束。否则,如果来自 UI 线程的其他位置,则如预期。
In my C# app, even I handle exception :
Application.SetUnhandledExceptionMode(UnhandledExceptionMode.CatchException);
AppDomain.CurrentDomain.UnhandledException +=
new UnhandledExceptionEventHandler(CurrentDomain_UnhandledException);
and then in handler showing dialog box and doing Application.Exit
still getting windows error reporting dialog with Send, Don't Send...
How to prevent windows error reporting dialog from popping up?
In fact if the exception is thrown from main form constructor then the program ends up with Windows error report dlg. Otherwise if from some other location of UI thread, then as expected.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
您需要自行终止该应用程序。这将做到这一点:
You'll need to terminate the app yourself. This will do it:
显示是否向 Microsoft 发送错误报告的选项的对话框也不例外。如果您使用不安全的{}块或使用执行某些非法操作的 p/invoke,则可能会发生这种情况。
The dialog that presents the choice to send or not send an error report to Microsoft is beyond exceptions. This might happen if you use unsafe{} blocks or you use p/invoke's which perform some illegal operation.
我认为你不应该与问题的症状作斗争。未处理的异常一开始就不应该发生。
您对造成这些问题的原因有任何线索吗?
I think you should not be fighting the symptoms of your problem. The unhandled exceptions should not happen in the first place.
Do you have any clues on what is causing them?