2016-10-20 4 views
2

Ich habe eine parallele.Foreach Schleife in meinem Code und ich frage mich, wie mit Ausnahmen umzugehen. Sollte ich Exceptions innerhalb der Schleife fangen und verarbeiten (z. B. schreiben, um sie zu protokollieren), oder sollte ich eine Aggregat-Exception außerhalb auffangen - verschließe die Schleife in try/catch?Wie behandelt man Ausnahmen in Parallel.Foreach?

Mit freundlichen Grüßen

+2

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

+0

Diese [MSDN Artikel] (https://msdn.microsoft.com/en-us/ Bibliothek/dd460695 (v = vs.110) .aspx) sollte Ihre Frage beantworten. Es ist ziemlich einfach. – Saket

Antwort

7

Sollte ich fangen und Ausnahmen innerhalb der Schleife zu behandeln oder sollte ich Aggregat Ausnahme außerhalb fangen

Die beiden sind nicht funktionell gleichwertig. Beides kann getan werden und auf verschiedene Arten.

Aber die grundlegendere Frage ist: Wenn eine oder mehrere Iterationen eine Ausnahme erleiden, möchten Sie die verbleibenden Elemente verarbeitet werden oder nicht?

Wenn ja, dann behandeln Sie sie innerhalb der Schleife, möglicherweise speichern sie wie in the MSDN example.
Wenn nicht, einfach einen Versuch/Fang um die Parallele Schleife selbst.

Verwandte Themen