2011-02-10 79 views
0

在我的代碼中,我遇到了一個錯誤,在程序運行時出現以下異常。然而,當我在Visual Studio中運行程序時發生錯誤時,應用程序僅僅是退出而沒有任何錯誤(其他錯誤通常會將我帶到有問題的行)。Visual Studio 2010 UnhandledException,ThreadException錯誤處理?

if (ApplicationDeployment.IsNetworkDeployed) { 
    AppDomain.CurrentDomain.UnhandledException += currentDomainUnhandledException; 
    Application.ThreadException += applicationThreadException; 
} 

當然,如果我刪除if我得到我的方法做這個異常處理簡單的使用MessageBox顯示錯誤。有沒有辦法強制Visual Studio捕捉這個錯誤,因爲它會捕獲其他類型的錯誤?

回答

2

只能使用Debug + Exceptions,Thrown複選框。這使得調試器停止了「第一次機會」。在拋出異常的時候。您通常要做到這一點:

 if (!System.Diagnostics.Debugger.IsAttached) { 
      // Subscribe the events 
      //... 
     } 

注意,這已經這樣工作了Application.ThreadException,已經的WinForms避免捕捉異常,如果它看到一個調試器。完全相同的原因。

+0

我在哪裏可以找到這個複選框? – MadBoy 2011-02-10 14:31:14