2014-02-18 119 views
0

調試時我Winform程序的代碼,我最近發現的,而不是在做壞事的源代碼行打破,程序會彈出一個對話框顯示錯誤消息,類似如下:調試器不破時拋出異常

enter image description here

這不是爲我好,因爲我不知道在哪裏造成此故障,你知道爲什麼我的Visual Studio調試器的行爲就像這樣,我該如何改變這種代碼?

回答

1

如果您在Non-Debug模式下運行你的應用程序也不會破壞你的代碼,它只是如果你想拋出異常,點到你的代碼的確切位置發生異常,你需要顯示MessageBox

錯誤信息在Debug模式下運行程序。

編輯:如果你已經在調試模式下試試這個:

第1步:在VS IDE轉到Debug菜單
步驟2:選擇Exceptions
第3步:現在您需要檢查Exceptions對話框中的Common Language Runtime Exceptions選項。

enter image description here

+0

我是在'Debug'模式:( –

+0

@ZhiWang:檢查我的編輯答案 –

+0

請注意,如果你有「僅我的代碼」中的調試器啓用選項屏幕會[略有不同](http://i.stack.imgur.com/rk3ql.png),但你仍然按照相同的步驟。 –

0

我猜你趕上你的程序異常,並顯示在這種情況下,一個消息框。可能用毯子catch (Exception e)。即使在調試>例外情況下捕獲,您也可以使調試器闖入任何拋出的異常。

0

您可以顯示StackTrace,而不是Message,其中包含了向下鑽取到引起異常的調用。

你能告訴你的消息是這樣的:

try 
{ 
    // some code that throws an exception 
} 
catch() 
{ 
    StringBuilder sb = new StringBuilder(); 
    sb.AppendFormat("Message: {0}", e.Message); 
    sb.AppendLine(); 
    sb.AppendLine(); 
    sb.AppendFormat("StackTrace: {0}", e.StackTrace); 
    MessageBox.Show(sb.ToString(), "Error"); 
}