在我们的代码中的几个地方,我们注意到如果在调试器下运行,它将显示代码中存在未处理的异常,但是如果在调试器外部运行它将完全忽略异常,就好像它被捕获一样.我们有一个异常处理程序,它弹出一个连接到Application.ThreadException和AppDomain.CurrentDomain.UnhandledException的错误提交对话框.这些都不会捕获它们.我们还记录了我们的异常,日志中没有任何内容.
这有什么可能的原因?
编辑:似乎它不依赖于异常抛出的类型,而是它抛出的位置.仅通过添加以下测试:
throw new Exception("Test Exception");
它将显示在调试器下但不会显示在外部,因此在我们的示例中,它不是ThreadAbortedException或任何依赖于它的特定类型的异常.