Pol*_*olo 7 .net c# foreach try-catch
我试图通过简单的登录从Active Directory基础创建一个对象.问题是某些登录信息是有效的.
我怎么能只使用try-catch,这样如果抛出异常,只需跳到下一次登录?
这是代码:
foreach (var PharosUserItem in ListRef)
{
ADUser User;
try
{
User = new ADUser(PharosUserItem.UserLoginPharos);
}
catch (ByTel.DirectoryServices.Exceptions.UserNotFoundException ex)
{
break;
}
}
Run Code Online (Sandbox Code Playgroud)
休息让我脱离了foreach,这不是我想要的.有任何想法吗?
Jos*_*eph 30
你正在寻找继续
foreach (var PharosUserItem in ListRef)
{
ADUser User;
try
{
User = new ADUser(PharosUserItem.UserLoginPharos);
}
catch (ByTel.DirectoryServices.Exceptions.UserNotFoundException ex)
{
continue;
}
}
Run Code Online (Sandbox Code Playgroud)
Jon*_*eet 13
请改用continue语句:
foreach (var pharosUserItem in ListRef)
{
ADUser user;
try
{
user = new ADUser(pharosUserItem.UserLoginPharos);
}
catch (UserNotFoundException)
{
continue;
}
// Use "user" here
}
Run Code Online (Sandbox Code Playgroud)
(我在变量大小写方面做了一些改动,避免使用大量长的完全限定名称作为异常,并为异常提供一个变量,然后忽略它.)
请注意,如果有任何合理的方法可以获得有效用户列表并进行检查,那么这比使用流控制的例外要好,就像你在这里做的那样.这可能不太可行,但值得检查:)
| 归档时间: |
|
| 查看次数: |
12497 次 |
| 最近记录: |