服务器之家

服务器之家 > 正文

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

时间:2022-01-19 11:39     来源/作者:孤风魅影

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

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

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

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

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

            c#:   appdomain.currentdomain.unhandledexception

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

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

          示例代码: 

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
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();
           }
       }
    }

         结果:         

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

总结

以上所述是小编给大家介绍的c# 屏蔽由于崩溃弹出的windows异常弹框,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对服务器之家网站的支持!

原文链接:http://www.cnblogs.com/hrx-gufengmeiying/archive/2017/08/15/7365481.html

标签:

相关文章

热门资讯

蜘蛛侠3英雄无归3正片免费播放 蜘蛛侠3在线观看免费高清完整
蜘蛛侠3英雄无归3正片免费播放 蜘蛛侠3在线观看免费高清完整 2021-08-24
yue是什么意思 网络流行语yue了是什么梗
yue是什么意思 网络流行语yue了是什么梗 2020-10-11
背刺什么意思 网络词语背刺是什么梗
背刺什么意思 网络词语背刺是什么梗 2020-05-22
2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全
2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全 2019-12-26
2021年耽改剧名单 2021要播出的59部耽改剧列表
2021年耽改剧名单 2021要播出的59部耽改剧列表 2021-03-05
返回顶部