2011-02-10 46 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