2012-02-07 124 views
1

即使在調試模式下,WPF應用程序默默失敗是否正常?目前,我正在執行richtextbox文本更改事件中的代碼,如果它發生錯誤,它只是停止調用文本更改事件,因此我必須遍歷所有代碼以找到它停止的點...阻止WPF失敗默默地?

As一個例子,我正在將一個類轉換爲另一個類,但是我正在轉換爲錯誤的類(輸入錯誤..),所以結果爲NULL。當我嘗試使用該類時,這導致在失敗後直接生成一些代碼。儘管如此,程序只是繼續運行,就好像一個try-catch繞過了整個事件(並且在它的內部刪除了文本更改的事件)

+0

它可能與WPF捕獲錯誤的能力有關。但不知道。你可以嘗試添加一個[DataErrorInfoclass](http://msdn.microsoft.com/en-us/library/system.componentmodel.idataerrorinfo.aspx)並查看是否可以捕獲它[ – Default 2012-02-07 11:56:16

+0

]不,這不正常!從你給出的觀點來看,除了說'有什麼問題'之外,很難想出任何答案。你說異常不會被拋出?如果有意拋出異常呢? – DanTheMan 2012-02-07 13:50:38

+0

發佈一些代碼。 – cadrell0 2012-02-07 13:56:31

回答

1

當您的事件處理程序執行時,您可能會有奇怪的行爲不符合所需的簽名。
對於您的問題最簡單的方法是讓Visual Studio在第一次機會異常時停止。進入調試菜單,異常子菜單,在這裏你可以選擇哪個異常將停止應用程序。
還要注意,第一個機會異常顯示在立即窗口中(Debug/Window/Immediate)。

+0

謝謝,我將所有CLR異常從'user-unhandled'切換到'throwown',現在它可以正常工作。 – LynchDev 2012-02-07 14:37:56