我可能错过了一个非常明显的事实,但我很难理解对 AggregatedExceptions 的需求。
我知道自从 async/await 之后,我们就不必再为 AggregatedExceptions 烦恼了(或者至少不那么频繁地遇到它们了)。我可以与之相关,因为我只是启动一个任务,有时我选择将“调用线程”与“并行运行的任务”同步
var sometTask = DoSomethingInParallelAsync().ConfigureAwait(false);
...
...
await someTask;
DoSomethingInParallelAsync()
在这种情况下,当我等待该调用时,将向我显示发生的异常。
为什么不使用await
,但Wait
在Task
明确的情况下如此不同?
var someTask = DoSomethingInParallelAsync();
...
...
someTask.Wait();
此示例中抛出的异常将始终将抛出的异常包装Exception
在AggregateException
. 我还是不明白为什么。
当使用 async/await 消除对AggregateException
s 的需求时,我不能做什么?