当前位置:  开发笔记 > 编程语言 > 正文

防止"向Microsoft发送错误报告"

如何解决《防止"向Microsoft发送错误报告"》经验,为你挑选了1个好方法。

我正在做一个相当大的项目,它不太可能抓住一切.我发现事件通知我未处理的异常,但我还没有找到一种方法以编程方式关闭Windows错误对话框.理想情况下,如果存在未处理的异常,我希望触发该事件,提供一个对话框告诉用户存在问题,然后优雅地关闭.有没有办法做到这一点?我意识到我可以在try catch中包裹最高层,但我希望能有更优雅的东西.



1> Aaron Smith..:

这就是我们所做的.

static void Main() {
    try
    {
        SubMain();
    }
    catch (Exception e)
    {
        HandleUnhandledException(e);
    }
}

private static void SubMain()
{
    // Setup unhandled exception handlers
    AppDomain.CurrentDomain.UnhandledException += // CLR
       new UnhandledExceptionEventHandler(OnUnhandledException);
     Application.ThreadException += // Windows Forms
       new System.Threading.ThreadExceptionEventHandler(
           OnGuiUnhandledException);
     Application.EnableVisualStyles();
     Application.SetCompatibleTextRenderingDefault(false);
     Application.Run(new frmMain());
}

// CLR unhandled exception
private static void OnUnhandledException(Object sender,
   UnhandledExceptionEventArgs e)
{
    HandleUnhandledException(e.ExceptionObject);
}

// Windows Forms unhandled exception
private static void OnGuiUnhandledException(Object sender,
   System.Threading.ThreadExceptionEventArgs e)
{
    HandleUnhandledException(e.Exception);
}

推荐阅读
mobiledu2402851323
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有