2011-10-05 73 views
1

我有一塊在C#代碼,本質上類似於下面...Visual Studio的調試模式,允許例外殺死計劃

WriteFile(); 
try { 
    RunTest(); 
} finally { 
    DeleteFile(); 
} 

現在這已經計劃這樣即使失敗,它清除處理它留下的文件。這在沒有以調試模式運行時會起作用(儘管它會彈出一條消息,詢問我是否要調試程序或關閉它,關閉它會產生合適的結果)。

當我在調試模式下運行此命令並在RunTest內部發生異常時,我似乎只有兩個選項。在第一個中,我告訴調試停止。這相當於查殺程序,並且finally中的塊不運行(因此文件不會像它應該被刪除)。如果我告訴它繼續下去,它不會傳播異常,相反,它只是在其他地方發生異常。

反正有沒有辦法讓調試模式繼續像一個正常的程序後,打一個例外?

回答

2

從Debug菜單,選擇異常(或使用按Ctrl + Alt鍵+Ë)。這將彈出一個對話框,您可以在「User-unhandled」列中取消選中適合的複選框,以查找在調試時不想停止的異常。 我相信會使異常傳播正常工作。你仍然可以在try或finally塊中設置斷點來查看發生了什麼。

0

如果設置了任何例外,請檢查調試/例外。

另一種選擇是處理事件Application.ThreadException(Windows窗體)或Application.UnhandledException(Silverlight等),並根據異常的嚴重性告訴應用程序繼續或退出。