相关疑难解决方法(0)

在foreach条件下抛出异常

foreach在foreach本身的情况下,我有一个循环在循环中断开.有没有办法try catch抛出异常然后继续循环?

这将运行几次,直到异常命中然后结束.

try {
  foreach(b in bees) { //exception is in this line
     string += b;
  }
} catch {
   //error
}
Run Code Online (Sandbox Code Playgroud)

这根本不会运行,因为异常是在foreach的条件下

foreach(b in bees) { //exception is in this line
   try {
      string += b;
   } catch {
     //error
   }
}
Run Code Online (Sandbox Code Playgroud)

我知道你们中的一些人会问这是怎么回事,所以这就是:PrincipalOperationException抛出异常是因为PrincipalGroupPrincipal(蜜蜂)中找不到(我的例子中的b ).

编辑:我添加了以下代码.我还发现一个组成员指向一个不再存在的域.我通过删除该成员轻松解决了这个问题,但我的问题仍然存在.你如何处理在foreach条件下抛出的异常?

PrincipalContext ctx = new PrincipalContext(ContextType.domain);
GroupPrincipal gp1 = GroupPrincipal.FindByIdentity(ctx, "gp1");
GroupPrincipal gp2 = GroupPrincipal.FindByIdentity(ctx, "gp2");

var principals = gp1.Members.Union(gp2.Members);

foreach(Principal principal in principals) …
Run Code Online (Sandbox Code Playgroud)

c# foreach exception try-catch

8
推荐指数
1
解决办法
9460
查看次数

标签 统计

c# ×1

exception ×1

foreach ×1

try-catch ×1