0

我试图捕捉调用方法时引起的错误。在Set-Aclcmdlet 下方的 try 块中支持ErrorAction并允许我捕捉。该方法.AddAccessRule不支持 - ErrorAction,但如果用户不存在,有时会失败。我怎样才能捕捉到这个错误?

 Try{
   $acl.AddAccessRule($rule)
   Set-Acl $homeDirectory $acl -ErrorAction Stop -ErrorVariable errvar
 }Catch{
   Log $NewUserLog $errvar
   $Response = [System.Windows.Forms.MessageBox]::Show("Unable to set security on user Folder. Please set NTFS permisions manually." + $ErrorText, "Error")
 }
4

1 回答 1

0

catch 块应该捕获由 AddAccessRule 引发的 .NET 异常。由于您没有在 catch 块上指定过滤异常,因此它应该捕获所有“可捕获”的 .NET 异常。有一些异常没有像 StackOverflowException 那样捕获 IIRC。

于 2013-10-18T19:26:44.327 回答