C# 屏蔽由于崩潰彈出的windows異常彈框
windows應(yīng)用程序(包括控制臺(tái))在運(yùn)行時(shí)如果出現(xiàn)了未處理的異常會(huì)出項(xiàng)windows的異常提示框

這個(gè)提示框在平時(shí)并沒(méi)有什么影響。但是當(dāng)我們使用啟動(dòng)的是一個(gè)服務(wù)器程序時(shí),我們的要求應(yīng)該是盡可能快的重啟應(yīng)用。
但是由于這個(gè)提示框?qū)е挛覀兊牡谌绞刈o(hù)程序并不知道應(yīng)用已經(jīng)崩潰退出,導(dǎo)致我們無(wú)法及時(shí)處理。
所以,我們應(yīng)該在程序啟動(dòng)時(shí)再做一個(gè)處理,即添加未處理異常的事件
C#: AppDomain.CurrentDomain.UnhandledException
解釋: 此事件提供通知未捕獲的異常。 它允許應(yīng)用程序來(lái)記錄有關(guān)異常的信息,系統(tǒng)默認(rèn)處理程序?qū)惓?bào)告給用戶和終止應(yīng)用程序之前。 如果提供了有關(guān)狀態(tài)的應(yīng)用程序的足夠信息,可以采取其他措施-例如保存更高版本的恢復(fù)的程序數(shù)據(jù)。 建議小心,因?yàn)椴惶幚懋惓r(shí),可能會(huì)損壞程序數(shù)據(jù)。
在該事件中我們可以從容的捕獲異常、記錄然后退出重啟。
示例代碼:
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("有未經(jīng)處理的異常,程序即將退出!");
Thread.Sleep(5000);
Environment.Exit(-1);
}
static void Func1()
{
m_count++;
if(m_count > 100)
{
throw new Exception();
}
}
}
結(jié)果:

總結(jié)
以上所述是小編給大家介紹的C# 屏蔽由于崩潰彈出的windows異常彈框,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
- C# wpf解決Popup彈出位置異常問(wèn)題解決
- C# menuStrip控件實(shí)現(xiàn)鼠標(biāo)滑過(guò)自動(dòng)彈出功能
- C#彈出對(duì)話框確定或者取消執(zhí)行相應(yīng)操作的實(shí)例代碼
- C# winform實(shí)現(xiàn)右下角彈出窗口結(jié)果的方法
- C#實(shí)現(xiàn)在前端網(wǎng)頁(yè)彈出警告對(duì)話框(alert)的方法
- C#實(shí)現(xiàn)客戶端彈出消息框封裝類實(shí)例
- C#設(shè)置MDI子窗體只能彈出一個(gè)的方法
- C#?winForm自定義彈出頁(yè)面效果
相關(guān)文章
C#實(shí)現(xiàn)帶行數(shù)和標(biāo)尺的RichTextBox
這篇文章主要為大家詳細(xì)介紹了如何利用C#實(shí)現(xiàn)帶行數(shù)和標(biāo)尺的RichTextBox,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)C#有一定的幫助,感興趣的小伙伴可以跟隨小編一起了解一下2022-12-12
C#反射在實(shí)際應(yīng)用中的實(shí)例代碼
C#反射在實(shí)際應(yīng)用中的實(shí)例代碼,需要的朋友可以參考一下2013-03-03
C# 連接SQL數(shù)據(jù)庫(kù)的方法及常用連接字符串
這篇文章主要介紹了C# 連接SQL數(shù)據(jù)庫(kù)的方法及常用連接字符串,有需要的朋友可以參考一下2014-01-01
DirectoryEntry配置IIS7出現(xiàn)ADSI Error:未知錯(cuò)誤(0x80005000)
這篇文章主要介紹了DirectoryEntry配置IIS7出現(xiàn)ADSI Error:未知錯(cuò)誤(0x80005000)的解決辦法2015-09-09
C#實(shí)現(xiàn)的封裝CURD到SqlHelper類用法簡(jiǎn)單分析
這篇文章主要介紹了C#實(shí)現(xiàn)的封裝CURD到SqlHelper類用法,涉及數(shù)據(jù)庫(kù)相關(guān)配置方法及SqlHelper類的簡(jiǎn)單使用技巧,代碼中包含了較為詳盡的注釋便于理解,需要的朋友可以參考下2017-11-11
C#使用動(dòng)態(tài)規(guī)劃解決0-1背包問(wèn)題實(shí)例分析
這篇文章主要介紹了C#使用動(dòng)態(tài)規(guī)劃解決0-1背包問(wèn)題,實(shí)例分析了C#動(dòng)態(tài)規(guī)劃算法的實(shí)現(xiàn)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-04-04
WPF中不規(guī)則窗體與WindowsFormsHost控件兼容問(wèn)題的解決方法
這篇文章主要介紹了WPF中不規(guī)則窗體與WindowsFormsHost控件兼容問(wèn)題的解決方法,對(duì)比以往的解決方案,給出了一個(gè)具有普遍性的技巧,具有一定的借鑒價(jià)值,需要的朋友可以參考下2014-11-11
基于WPF開(kāi)發(fā)簡(jiǎn)單的顏色選擇器
這篇文章主要介紹了如何基于WPF實(shí)現(xiàn)簡(jiǎn)單的顏色選擇器,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)或工作有一定幫助,需要的小伙伴可以參考一下2023-07-07

