none
請問如何顯示發生例外錯誤訊息視窗? RRS feed

  • 問題

  • 開發環境:Windows 7 64bit, VS2010

    問題描述:之前我寫程式要是發生例外錯誤,IDE都會跳出例外的錯誤訊息指向那行程式碼,但是最近不知道我動到了什麼選項,例外錯誤只會顯示在輸出(Output)視窗中,也只有顯示例外錯誤的名稱,例如

    A first chance exception of type 'System.Exception' occurred in myForms.exe

    然後程式就繼續執行,導致發生例外錯誤之後的代碼都沒有執行到。

    請問我要如何在設定顯示出例外錯誤會停在哪一行的視窗呢?

    2011年10月28日 上午 05:16

解答

  • 在 Debug→Exceptions視窗中,將Common Language Runtime Exceptions 的 Thrown 跟 User-unhandled 都打勾就可以彈例外錯誤的行數。

     

    • 已標示為解答 503 2011年10月29日 上午 10:37
    2011年10月29日 上午 10:37

所有回覆

  • 先參考

    http://msdn.microsoft.com/zh-tw/library/0yd65esw(v=vs.80).aspx

     

    要不要貼出部分程式碼比較好幫你判斷少了甚麼

     

     


    coding or not
    2011年10月28日 上午 05:19
  • 假如 VS2010 環境沒有特殊設定的話,試著重置看看

    http://www.dotblogs.com.tw/chou/archive/2009/04/21/8073.aspx


    歡迎參觀我的Blog.NET菜鳥自救會
    2011年10月28日 上午 05:31
    版主
  • 謝謝 Shinyo.her 大回答,

     

    我想要讓IDE顯示例外錯誤訊息的視窗,所以不是要捕捉例外錯誤,還是很謝謝你回答。

    2011年10月28日 上午 05:39
  • 謝謝 小歐ou 大回答,

    剛剛已經輸入了

    devenv.exe /resetsettings
    
    devenv.exe /resetuserdata

    IDE 開啟時有像剛安裝完那樣等待進度條與重新選擇語言配置,

    之後我在Main Form Load事件裡面輸入

                string[] a = new string[5];
                a[5] = "1";
    
    執行後,例外錯誤視窗還是沒有顯示,輸出(Output)視窗顯示
    A first chance exception of type 'System.IndexOutOfRangeException' occurred in WindowsFormsApplication1.exe

    請問大大接下來還有其他方法可以嘗試看看解決此問題嗎,繼續感激各位幫忙。

    2011年10月28日 上午 05:44
  • 執行模式改回 Debug ,而不是使用 Release
    論壇是網友平等互助 保證解答請至 微軟技術支援服務
    提問時,錯誤情境描述與錯誤訊息很重要,情境描述包含你做了什麼,預期的結果與實際發生的結果。一個最爛的問法範例:「我的電腦電腦怎麼不能開機?」誰知道你家是不是沒電還是你根本找不到電源鈕。
    2011年10月28日 下午 03:28
  • 感謝 心冷熱情熄 大回覆,

     

    請問執行模式是指以下圖中這樣設定嗎? 因為我目前這樣的設定還是不會顯示,請問要如何設定呢?

    2011年10月28日 下午 05:33
  • 補充:

    我目前在 Debug→Exceptions視窗中,將Common Language Runtime Exceptions 下的 System 的 Thrown 打勾,

    然後再嘗試一次在Load事件輸入以下代碼

    string[] a = new string[5];
    a[5] = "1";
    

    按下F5 (Start Debugging) 後,會跑出例外的視窗,但是是出現在a[5]="1";的下一行程式碼。

    2011年10月28日 下午 05:44
  • 我也有發生類似的狀況。

    類似:

    按下F5 (Start Debugging) 後,會跑出例外的視窗,但是是出現在a[5]="1";的 下一行程式碼

    但是這應該不會有太大的影響,因為可能只是 Visual Studio 的一個小 Bug,導致錯誤或例外的程式碼有時顯示在標示該行的附近。

    你是否有再用其他會產生例外的程式碼試試看呢? 如果還是有一樣的問題的話可能還需要再進行研究。

    所以你現在在 OutPut 視窗還是有顯示例外的訊息?

    請詳細描述。


    不斷地學習是良好的態度,可以提升自己的競爭力。
    2011年10月29日 上午 08:50
  • 在 Debug→Exceptions視窗中,將Common Language Runtime Exceptions 的 Thrown 跟 User-unhandled 都打勾就可以彈例外錯誤的行數。

     

    • 已標示為解答 503 2011年10月29日 上午 10:37
    2011年10月29日 上午 10:37