Catch Ausnahme in foreach Bedingung geworfen

8

Ich habe eine foreach Schleife, die während der Schleife in der Bedingung der foreach selbst bricht. Gibt es eine Möglichkeit, try catch das Element, das die Ausnahme auslöst und dann die Schleife fortsetzen?

Dies wird einige Male ausgeführt, bis die Ausnahme eintritt und endet.

%Vor%

Dies wird überhaupt nicht ausgeführt, da sich die Ausnahme im Zustand der foreach befindet

%Vor%

Ich weiß, dass einige von euch fragen werden, wie das passiert, also hier ist das: Ausnahme PrincipalOperationException wird geworfen, weil ein Principal (b in meinem Beispiel) nicht in GroupPrincipal (bienen) gefunden werden kann.

Bearbeiten: Ich habe den folgenden Code hinzugefügt. Ich fand auch heraus, dass ein Gruppenmitglied auf eine Domäne zeigte, die nicht mehr existiert. Ich habe das Problem leicht gelöst, indem ich das Mitglied gelöscht habe, aber meine Frage steht immer noch. Wie gehst du mit Ausnahmen um, die in den Zustand einer foreach geworfen werden?

%Vor%     
Jonathan Eckman 21.09.2012, 00:42
quelle

3 Antworten

3

Fast so wie die Antwort von @Guillaume, aber "Ich mag meine besser":

%Vor%     
John Saunders 21.09.2012, 13:48
quelle
3

Vielleicht können Sie versuchen, eine Methode wie diese zu erstellen:

%Vor%

und Sie können es auf diese Weise verwenden:

%Vor%     
Guillaume 21.09.2012 03:54
quelle
0

Ich bevorzuge einen Aggregat-Exception-Handler. keine Notwendigkeit für Erweiterungen.

.NET Framework 4.6 und 4.5

AggregateException-Klasse habe den Code nicht getestet, aber die Logik ist vorhanden.

%Vor%     
Marc 11.01.2016 20:52
quelle

Tags und Links