在我的代码中,我遇到了一个错误,该异常是在程序运行时遇到异常。但是,当我在Visual Studio中运行程序时,错误发生时应用程序只是退出而没有任何错误(其他错误通常会将我带到有问题的行)。
if (ApplicationDeployment.IsNetworkDeployed) {
AppDomain.CurrentDomain.UnhandledException += currentDomainUnhandledException;
Application.ThreadException += applicationThreadException;
}
当然,如果我删除了if
,我会通过我的方法完成此异常处理,只使用MessageBox
来显示错误。有没有办法强制Visual Studio捕获此错误,就像捕获其他类型的错误一样?
答案 0 :(得分:2)
仅使用Debug + Exceptions,Thrown复选框。这使调试器停止在“第一次机会”。在抛出异常时。您通常希望这样做:
if (!System.Diagnostics.Debugger.IsAttached) {
// Subscribe the events
//...
}
请注意,这已经适用于Application.ThreadException,Winforms已经避免了在看到调试器时捕获异常。出于同样的原因。