全局异常捕获仅在调试WinForms应用程序时有效

c00000fd

catch在WinForms应用程序中实现了以下全局异常

static class Program
{
    /// <summary>
    /// The main entry point for the application.
    /// </summary>
    [STAThread]
    static void Main()
    {
        try
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Application.Run(new MyMainForm());
        }
        catch (Exception ex)
        {
            MessageBox.Show("UNHANDLED EXCEPTION: The program will be terminated. Details follow:\n\n" +
                getExceptionInfoWithDebuggerOutput(ex),
                "Global Exception",
                MessageBoxButtons.OK,
                MessageBoxIcon.Error);
        }
    }
}

然后在代码下,引发了一个异常(之所以这样-完全是由于我的健忘):

public partial class MyPage : UserControl
{

    void func1()
    {
        SqlConnectionStringBuilder conStr = null;

        //... later
        conStr.DataSource = strServer;  //<<--- Where exception is raised
    }
}

现在,如果要调试项目,则可以Global Exception从全局异常处理程序中看到消息框。

但是,如果我不调试我的项目并以Ctrl + F5的形式运行它,或者如果我构建一个Release项目,则会得到以下窗口,而不是上面编码的窗口:

在此处输入图片说明

任何想法如何使我的全局异常处理程序代替处理?

西蒙·怀特黑德

您应该挂接一个事件,例如AppDomain.UnhandledException

这些事件在您在发布模式下看到的全局错误处理程序之前引发。这使您可以在以更好的方式解决之前记录错误。

还引发了其他事件。例如,Application.ThreadException阅读文档可以使您更好地了解自己的特定需求。

我必须注意,您看到的错误是NullReferenceException..最好在您的代码中很好地处理。尽管如此,挂接这些事件并记录异常是一个好主意。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Android KeyHash调试时有效,从APK安装应用程序时无效

来自分类Dev

jQuery仅在刷新页面以切换Rails应用程序时有效

来自分类Dev

Android Geofencing示例应用程序仅在使用GPS打开另一个应用程序时有效

来自分类Dev

仅在调试javascript时有效

来自分类Dev

Flutter推送通知仅在应用程序处于后台时有效

来自分类Dev

Codeceptjs仅在全局安装时有效

来自分类Dev

流星仅在以调试模式部署时有效

来自分类Dev

有效调试闪亮的应用程序

来自分类Dev

该程序仅在声明整数时有效

来自分类Dev

程序仅在使用小数时有效吗?

来自分类Dev

macOS:模拟鼠标事件仅在启动二进制文件时有效,而在应用程序捆绑包中无效

来自分类Dev

使用ScrollViewer.ScrollToEnd()进行AutoScroll仅在调试时有效,事件处理程序太简单了

来自分类Dev

启动安装程序时不是有效的win32应用程序

来自分类Dev

Vue列表移动过渡仅在重新排序时有效,但不能拼接

来自分类Dev

拖放:仅在刷新时有效

来自分类Dev

提取仅在刷新时有效

来自分类Dev

ASP.NET jQuery ajax仅在调试浏览器时有效

来自分类Dev

某些代码仅在Chrome调试器处于活动状态时有效

来自分类Dev

C#Selenium等到元素显示等于无-仅在调试时有效

来自分类Dev

ASP.NET jQuery ajax仅在调试浏览器时有效

来自分类Dev

异步仅在单步调试器时有效

来自分类Dev

C#程序仅在调试模式下有效

来自分类Dev

MVC Durandal应用程序仅在服务器根URL中有效

来自分类Dev

uwsgi 1.9.18.2某些配置仅在应用程序配置中有效?

来自分类Dev

InputSimulator 在调试时有效,但在程序构建时无效

来自分类Dev

C ++程序仅在打印数字时有效

来自分类Dev

zf2验证程序-仅在日期为工作日时有效

来自分类Dev

如何解决“错误:请为“选择”输入有效格式。创建Jawbone UP应用程序时?

来自分类Dev

如何解决“错误:请为“选择”输入有效格式。创建Jawbone UP应用程序时?

Related 相关文章

  1. 1

    Android KeyHash调试时有效,从APK安装应用程序时无效

  2. 2

    jQuery仅在刷新页面以切换Rails应用程序时有效

  3. 3

    Android Geofencing示例应用程序仅在使用GPS打开另一个应用程序时有效

  4. 4

    仅在调试javascript时有效

  5. 5

    Flutter推送通知仅在应用程序处于后台时有效

  6. 6

    Codeceptjs仅在全局安装时有效

  7. 7

    流星仅在以调试模式部署时有效

  8. 8

    有效调试闪亮的应用程序

  9. 9

    该程序仅在声明整数时有效

  10. 10

    程序仅在使用小数时有效吗?

  11. 11

    macOS:模拟鼠标事件仅在启动二进制文件时有效,而在应用程序捆绑包中无效

  12. 12

    使用ScrollViewer.ScrollToEnd()进行AutoScroll仅在调试时有效,事件处理程序太简单了

  13. 13

    启动安装程序时不是有效的win32应用程序

  14. 14

    Vue列表移动过渡仅在重新排序时有效,但不能拼接

  15. 15

    拖放:仅在刷新时有效

  16. 16

    提取仅在刷新时有效

  17. 17

    ASP.NET jQuery ajax仅在调试浏览器时有效

  18. 18

    某些代码仅在Chrome调试器处于活动状态时有效

  19. 19

    C#Selenium等到元素显示等于无-仅在调试时有效

  20. 20

    ASP.NET jQuery ajax仅在调试浏览器时有效

  21. 21

    异步仅在单步调试器时有效

  22. 22

    C#程序仅在调试模式下有效

  23. 23

    MVC Durandal应用程序仅在服务器根URL中有效

  24. 24

    uwsgi 1.9.18.2某些配置仅在应用程序配置中有效?

  25. 25

    InputSimulator 在调试时有效,但在程序构建时无效

  26. 26

    C ++程序仅在打印数字时有效

  27. 27

    zf2验证程序-仅在日期为工作日时有效

  28. 28

    如何解决“错误:请为“选择”输入有效格式。创建Jawbone UP应用程序时?

  29. 29

    如何解决“错误:请为“选择”输入有效格式。创建Jawbone UP应用程序时?

热门标签

归档