在我的代码中,我遇到了一个错误,该错误在程序运行时被以下异常捕获。但是,当我在Visual Studio中运行程序时,发生错误时,应用程序只是退出而没有任何错误(其他错误通常将我带到有问题的行)。
if (ApplicationDeployment.IsNetworkDeployed) {
AppDomain.CurrentDomain.UnhandledException += currentDomainUnhandledException;
Application.ThreadException += applicationThreadException;
}
当然,如果我删除了
if
,则可以通过我的方法(仅使用MessageBox
来显示错误)来完成此异常处理。有没有一种方法可以强制Visual Studio像捕获其他类型的错误一样捕获此错误?
最佳答案
仅通过使用“调试+异常(exception)”,“已抛出”复选框。这使得调试器在“第一次机会”时停止。此时抛出了异常。您通常要这样做:
if (!System.Diagnostics.Debugger.IsAttached) {
// Subscribe the events
//...
}
请注意,这已经对Application.ThreadException起作用,Winforms已经避免在看到调试器时捕获异常。出于完全相同的原因。
关于visual-studio-2010 - Visual Studio 2010 UnhandledException,ThreadException错误处理?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4956856/