C# 实现全局异常捕获

       在实际的项目开发中,我们往往会遇到自己编写的程序在自己电脑上运行正常,但是安装在其他电脑上就会出现闪退等异常现象,由于不是每台电脑都安装有VS的运行环境,所以不能在线调试,因此就不能快速的找到程序的bug

。那么,我们是不是可以设置一个全局异常捕获,当然可以!

只需要在Program这个类中加入以下代码:

 static void Main()
        {
            AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(CurrentDomain_UnhandleException);
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Application.Run(new Form1());
        }
        private static void CurrentDomain_UnhandleException(object sender, UnhandledExceptionEventArgs e)
        {
            MessageBox.Show(e.ExceptionObject.ToString());
        }

先看看效果:

 private void button1_Click(object sender, EventArgs e)
        {
            Convert.ToInt32("abc");
        }

C# 实现全局异常捕获_第1张图片

异常就捕获到了,当然,这种写法适合在调试的时候,更多的时候我们应该将异常写在日志文件中,当别人操作过程中出现异常我们能够通过日志很快的查询到程序的bug。

你可能感兴趣的:(C# 实现全局异常捕获)