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
解釋?zhuān)?此事件提供通知未捕獲的異常。 它允許應(yīng)用程序來(lái)記錄有關(guān)異常的信息,系統(tǒng)默認(rèn)處理程序?qū)惓?bào)告給用戶(hù)和終止應(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ì)話(huà)框確定或者取消執(zhí)行相應(yīng)操作的實(shí)例代碼
- C# winform實(shí)現(xiàn)右下角彈出窗口結(jié)果的方法
- C#實(shí)現(xiàn)在前端網(wǎng)頁(yè)彈出警告對(duì)話(huà)框(alert)的方法
- C#實(shí)現(xiàn)客戶(hù)端彈出消息框封裝類(lèi)實(shí)例
- C#設(shè)置MDI子窗體只能彈出一個(gè)的方法
- C#?winForm自定義彈出頁(yè)面效果
相關(guān)文章
Winform使用FTP實(shí)現(xiàn)自動(dòng)更新
這篇文章主要為大家詳細(xì)介紹了Winform使用FTP實(shí)現(xiàn)自動(dòng)更新,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-07-07
C#解析json字符串總是多出雙引號(hào)的原因分析及解決辦法
json好久沒(méi)用了,今天在用到j(luò)son的時(shí)候,發(fā)現(xiàn)對(duì)字符串做解析的時(shí)候總是多出雙引號(hào),下面給大家介紹C#解析json字符串總是多出雙引號(hào)的原因分析及解決辦法,需要的朋友參考下吧2016-03-03
C#?Unity使用正則表達(dá)式去除部分富文本的代碼示例
正則表達(dá)式在我們?nèi)粘i_(kāi)發(fā)中的用處不用多說(shuō)了吧,下面這篇文章主要給大家介紹了關(guān)于C#?Unity使用正則表達(dá)式去除部分富文本的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-03-03
C#檢查指定對(duì)象是否存在于ArrayList集合中的方法
這篇文章主要介紹了C#檢查指定對(duì)象是否存在于ArrayList集合中的方法,涉及C#中Contains方法的使用技巧,需要的朋友可以參考下2015-04-04
C#實(shí)現(xiàn)將Word轉(zhuǎn)化分享為電子期刊
曾經(jīng)由一個(gè)項(xiàng)目,要求實(shí)現(xiàn)制作電子期刊定期發(fā)送給企業(yè)進(jìn)行閱讀,由編輯人員使用 Microsoft Word先生成PDF文件,然后將生成的PDF文件轉(zhuǎn)化為JPEG文件,最后將JPEG文件生成電子書(shū)模式,本文給大家介紹了C#實(shí)現(xiàn)將Word轉(zhuǎn)化分享為電子期刊,需要的朋友可以參考下2023-12-12
winform攔截關(guān)閉按鈕觸發(fā)的事件示例
這篇文章主要介紹了c# winform攔截關(guān)閉按鈕觸發(fā)的事件示例,大家參考使用吧2014-01-01
C#實(shí)現(xiàn)頁(yè)面GZip或Deflate壓縮的方法
這篇文章主要介紹了C#實(shí)現(xiàn)頁(yè)面GZip或Deflate壓縮的方法,涉及C#通過(guò)GZipStream與DeflateStream實(shí)現(xiàn)頁(yè)面壓縮的相關(guān)技巧,需要的朋友可以參考下2015-06-06

