2016-10-20 34 views
2

我在我的代码中有一个parallel.Foreach循环,我想知道如何处理异常。我应该在循环中捕获并处理(例如写入日志)异常,还是应该在外面捕获集合异常 - 在try/catch中封装循环?如何在Parallel.Foreach中处理异常?

问候

+2

https://msdn.microsoft.com/en-us/library/dd460695(v=vs.110).aspx –

+0

This [MSDN Article](https://msdn.microsoft.com/en-us/) library/dd460695(v = vs.110).aspx)应该回答你的问题。这很简单。 – Saket

回答

7

我应该捕获并处理内环路异常或我应该抓住合计例外之外

这两个都没有功能上等同。两者都可以以不同的方式完成。

但是更根本的问题是:当一个或多个迭代遭受异常时,是否需要处理其余项目?

如果是,那么在循环内处理它们,可能像the MSDN example那样存储它们。
如果没有,只需在并行循环周围放置一个try/catch。