2009-08-20 58 views

回答

1

要在UI線程上捕獲未捕獲的異常只有,可以使用Application.ThreadException事件。

要在appdomain中的所有線程上捕獲未捕獲的異常,請使用AppDomain.Current.UnhandledException。後者不會讓你吞下異常,但是 - 你可以將它記錄在處理程序中,但一旦它返回,異常將移交給Watson,Watson將顯示通常的Win32崩潰對話框。

+0

如果我使用第二種方法,我會如何抑制它? – 2009-08-20 20:54:35

+0

你不能這樣做,這是設計。事實上,你不應該 - Windows應用程序指南(如果你想爲你的應用程序貼上「Certified for Vista」貼紙,並且可能要隨時關注,那麼你需要遵循這些指導原則,因爲它是指導Windows應用程序行爲良好的指南)特別說錯誤應該通過Watson報告。 – 2009-08-20 21:19:02

+0

所以我想我最好抓住所有的例外。 – 2009-08-20 21:37:59