欢迎来到代码驿站!

.NET代码

当前位置:首页 > 软件编程 > .NET代码

C# 屏蔽由于崩溃弹出的windows异常弹框

时间:2021-02-04 11:35:27|栏目:.NET代码|点击:

windows应用程序(包括控制台)在运行时如果出现了未处理的异常会出项windows的异常提示框 

     这个提示框在平时并没有什么影响。但是当我们使用启动的是一个服务器程序时,我们的要求应该是尽可能快的重启应用。

但是由于这个提示框导致我们的第三方守护程序并不知道应用已经崩溃退出,导致我们无法及时处理。     

     所以,我们应该在程序启动时再做一个处理,即添加未处理异常的事件     

            C#:   AppDomain.CurrentDomain.UnhandledException

         解释: 此事件提供通知未捕获的异常。 它允许应用程序来记录有关异常的信息,系统默认处理程序将异常报告给用户和终止应用程序之前。 如果提供了有关状态的应用程序的足够信息,可以采取其他措施-例如保存更高版本的恢复的程序数据。 建议小心,因为不处理异常时,可能会损坏程序数据。          

          在该事件中我们可以从容的捕获异常、记录然后退出重启。 

          示例代码: 

class Program
    {
       static int m_count = 0;
       static void Main(string[] args)
       {
           AppDomain.CurrentDomain.UnhandledException += CurrentDomain_UnhandledException;
           while(true)
           {
              Func1();
              Thread.Sleep(10);
           }
       }
       private static void CurrentDomain_UnhandledException(object sender, UnhandledExceptionEventArgs e)
       {
           Console.WriteLine("有未经处理的异常,程序即将退出!");
           Thread.Sleep(5000);
           Environment.Exit(-1);
       }
       static void Func1()
       {
           m_count++;
           if(m_count > 100)
           {
              throw new Exception();
           }
       }
    } 

         结果:         

总结

上一篇:Asp.Net实现FORM认证的一些使用技巧(必看篇)

栏    目:.NET代码

下一篇:C# 对PDF文档加密、解密(基于Spire.Cloud.SDK for .NET)

本文标题:C# 屏蔽由于崩溃弹出的windows异常弹框

本文地址:http://www.codeinn.net/misctech/56849.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有