windows应用程序(包括控制台)在运行时如果出现了未处理的异常会出项windows的异常提示框
这个提示框在平时并没有什么影响。但是当我们使用启动的是一个服务器程序时,我们的要求应该是尽可能快的重启应用。
但是由于这个提示框导致我们的第三方守护程序并不知道应用已经崩溃退出,导致我们无法及时处理。
所以,我们应该在程序启动时再做一个处理,即添加未处理异常的事件
C#: AppDomain.CurrentDomain.UnhandledException
解释: 此事件提供通知未捕获的异常。 它允许应用程序来记录有关异常的信息,系统默认处理程序将异常报告给用户和终止应用程序之前。 如果提供了有关状态的应用程序的足够信息,可以采取其他措施-例如保存更高版本的恢复的程序数据。 建议小心,因为不处理异常时,可能会损坏程序数据。
在该事件中我们可以从容的捕获异常、记录然后退出重启。
示例代码:
classProgram { staticintm_count = 0; staticvoidMain(string[] args) { AppDomain.CurrentDomain.UnhandledException += CurrentDomain_UnhandledException; while(true) { Func1(); Thread.Sleep(10); } } privatestaticvoidCurrentDomain_UnhandledException(objectsender, UnhandledExceptionEventArgs e) { Console.WriteLine("有未经处理的异常,程序即将退出!"); Thread.Sleep(5000); Environment.Exit(-1); } staticvoidFunc1() { m_count++; if(m_count > 100) { thrownewException(); } } }
结果:
梦想家园汉化版 最新版v1.3.0
梦想家园汉化安卓版是一款以泡泡玛特为主题,玩法独特的模拟经营
服从我 (Obey Me!)安卓版v8.1.11
服从我(obey me)是一款让你陷入ikemen恶魔们深情
佩皮超级商店 免费版v1.13.1
佩皮超级商店(Pepi Super Stores)是一款经营
船舶墓地模拟器内置菜单最新版本 v142
船舶墓地模拟器内置菜单版是一款模拟经营类游戏,玩家们将在这里
铠甲勇士捕将变身器模拟器 最新版v1.5
铠甲勇士捕将变身器模拟器是一款有着丰富选择的腰带召唤器,该召