catch(异常e)没有捕获托管dll抛出的异常

时间:2014-01-22 22:34:58

标签: c# exception

try
{
    value = System.DirectoryServices.AccountManagement.UserPrincipal.Current.UserPrincipalName; 
}       
catch (Exception e)
{
    //handle exception
}

我正在尝试从System.DirectoryServices.AccountManagement.ni.dll调用一个方法来定位UPN以供用户验证客户端。但是,如果管理员更改了用户的密码,则此dll会抛出异常,我无法弄清楚为什么catch(Exception e)没有处理它。例外是冒泡并取消我的申请。

我还需要做些什么来捕捉这个异常吗?

1 个答案:

答案 0 :(得分:1)

如果没有输入问题代码中的catch块,那么唯一的结论是

value = System.DirectoryServices.AccountManagement.UserPrincipal.
    Current.UserPrincipalName; 

不会抛出异常。也许在执行此语句期间抛出异常然后捕获。但唯一可以达成的明智的结论就是你的全能处理程序没有抓到任何东西就是没有什么东西可以抓住。