c# - C# AggregateException,在什么情况下我会聚合异常?
问题描述
我可能错过了一个非常明显的事实,但我很难理解对 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 的需求时,我不能做什么?
解决方案
推荐阅读
- excel - VBA 记录集函数参数不是可选错误
- r - 为什么 data.table 行过滤可以静默接受函数中缺少的参数而不会引发错误?
- qt - 使用 QML 淡入整个应用程序
- c++ - 您可以在递归 lambda 中捕获引用吗?
- jquery - 在加载 jqgrid 时,对加载的数据应用默认过滤器
- javascript - 我可以在上传之前使用 Javascript 来旋转和裁剪图片库吗?
- python - Pygame翻转一直在错误的时间翻转
- html - 如何在我的 dl 项目旁边添加一个 svg 图标?
- python - 如何在 Python Jupyter Notebook/Cell 中打开 URL?
- java - 如何在 Java 中将窗口大小调整为全屏?