当用户密码处于过期警告期时,c#.NET Active Directory用户检索引发异常

当用户密码处于过期警告期时,c#.NET Active Directory用户检索引发异常,c#,.net,windows,C#,.net,Windows,在检查用户是否担任角色时,我通常使用以下类型的代码。但是,如果用户收到密码将在未来10天内过期的警告(例如),则此代码会引发异常。有人知道防止这种情况发生的方法吗 using System.Security.Principal; . . . public UserDTO getCurrentUser() { UserDTO U = new UserDTO(); // Grab windows information WindowsIdentity CurrentUser

在检查用户是否担任角色时,我通常使用以下类型的代码。但是,如果用户收到密码将在未来10天内过期的警告(例如),则此代码会引发异常。有人知道防止这种情况发生的方法吗

using System.Security.Principal;
.
.
.
public UserDTO getCurrentUser()
{
    UserDTO U = new UserDTO();

    // Grab windows information
    WindowsIdentity CurrentUserIdentity = WindowsIdentity.GetCurrent();
    WindowsPrincipal CurrentUserPrincipal = new WindowsPrincipal(CurrentUserIdentity);
    U.isAuthorized = CurrentUserPrincipal.IsInRole("MYDOMAIN\\myrole");
    U.name = CurrentUserIdentity.Name;

    if (U.isAuthorized)
    {
        U.id = 1;
    }
    else // the user isn't authorized
    {
        U.id = 0;
    }
    return U; 
} // get current user
我使用.NETFramework4.5来编写这段代码

谢谢!
Ray

确切的异常是什么?错误发生在哪里,是什么异常类型?您可以只捕获该异常类型,然后决定是否要让用户知道他们需要更新密码。同意broom。如果尝试捕获失败,请找出原因并决定执行什么操作,您还可以检查一次确切的异常是什么?错误发生在何处,以及异常类型是什么?您可以只捕获该异常类型,然后决定是否要让用户知道他们需要更新密码。同意broom,如果try catch失败,请找出原因,并决定要执行的操作,还可以检查一次