Rom*_*key 4 c# debugging exception-handling visual-studio async-await
我async await和Task.Factory.StartNew我的应用程序一样使用,但我注意到的一件事是,当未处理的异常发生时,visual studio不再破坏
这就是我的意思 before using await

但是在我将一个方法转换为a Task并使用await之后

它仅在视觉工作室的输出区域中捕获...
顺便说一下:对我来说很奇怪,因为我是.Net4.5的新手,请原谅我,如果没有说明我需要的具体内容,那么我想知道的是
当调试器说"Exception未被用户代码处理"时,这意味着异常已经传播到框架.由于async Task方法将其异常放在其返回的上Task,因此异常不会传播到框架.像这样的例外是未被观察到的.
如果希望调试器在抛出异常时中断,则使用Debugger - > Exceptions - >选中CLr Exceptions的"Thrown"框.
如果要观察异常,则从更改TaskFactory.StartNew为Task.Run并调用Wait返回的异常Task.这会将异常(包含在一个AggregateException)中传播Main到框架中.
| 归档时间: |
|
| 查看次数: |
567 次 |
| 最近记录: |