我正在调试在Visual Studio 2010 Beta 2中调用WCF服务的Windows窗体客户端。
我想测试我的异常处理代码,所以我故意在app.config
中错误配置了我的端点。抛出预期的ConfigurationErrorsException。但是,Visual Studio 2010停止在有问题的代码行上,即使我已将其设置为不会因Thrown或User-unhandled异常而中断。
如果我尝试在没有调试的情况下启动,我会得到一个通用的“我的程序已停止工作”对话框,其中包含调试选项。如果我选择调试,它会将我带回到捕获异常的同一行。
我无法通过的路线是:
MySvc.MyServiceClient svc = new MySvc.MyServiceClient();
如果我通过在客户端的某个地方进行除零来模拟错误(或者只是普通抛出异常),则调试器的行为与我期望的一样,并输入我的错误处理代码。
我的意思是,当app.config
配置错误时,我实际上无法处理异常。我在这里遗漏了什么吗?
更新:
我正在处理Application ThreadException事件以尝试捕获它:
Application.ThreadException += new System.Threading.ThreadExceptionEventHandler(Application_ThreadException);
答案 0 :(得分:1)
Ctrl + D,E应该允许您配置VS异常处理选项。取消选中“公共语言运行时异常”,然后您的代码将处理所有异常。
编辑(海报)评论提供了正确的解决方案。
也许正在发生例外 另一个线程以某种方式通过 WCF代理中的异步调用? 试着挂钩 Application.UnhandledException和 AppDomain.CurrentDomain.UnhandledException 事件,看看他们是否抓住你的 罪魁祸首。