2016-10-20 18 views
2

私はコード内にparallel.Foreachループを持っており、例外を処理する方法が不思議です。ループ内で例外を捕捉して処理する必要がありますか(例えばログに書き込むなど)か、外部で集約例外を捕捉すべきですか?try/catchでループをエンパスしますか?Parallel.Foreachで例外を処理する方法は?

敬具

+2

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

+0

[MSDN記事](https://msdn.microsoft.com/en-us/) library/dd460695(v = vs.110).aspx)があなたの質問に答えてくれます。それはかなり簡単です。 – Saket

答えて

7

私がキャッチし、ループ内で例外を処理したり、私は

これら二つは機能的に同等ではありません外の集約例外をキャッチしなければならないはずです。どちらも、さまざまな方法で実行できます。

もっと根本的な問題は、1つ以上の反復で例外が発生した場合、残りのアイテムを処理したいかどうかです。

「はい」の場合はループ内で処理します。可能であればthe MSDN exampleのように格納します。
そうでない場合は、Parallelループ自体の周りにtry/catchを配置してください。

関連する問題