如何在Parallel.Foreach中处理exception?

我的代码中有一个parallel.Foreach循环,我想知道如何处理exception。 我应该在循环中捕获并处理(例如写入日志)exception,还是应该在外部捕获聚合exception – 在try / catch中包含循环?

最好的祝福

我应该捕获并处理循环内的exception,还是应该在外部捕获聚合exception

这两者在function上并不相同。 两者都可以以不同的方式完成。

但更基本的问题是:当一个或多个迭代遇到exception时,您是否希望处理剩余的项目?

如果是,则在循环内处理它们,可能像在MSDN示例中那样存储它们。
如果没有,只需在Parallel循环本身周围放置一个try / catch。