我的代码
DirectoryInfo[] dirstring = dir.GetDirectories(SearchTextbox.Text, System.IO.SearchOption.AllDirectories);
FileInfo[] fileinfo = dir.GetFiles(SearchTextbox.Text, System.IO.SearchOption.AllDirectories);
dir=@"D:\";
预期错误 UnauthorizedAccessException
我怎样才能捕获它并继续在其他文件夹和文件中搜索。
最佳答案
当您从驱动器的根目录启动时,您无法进行这项工作。您不可避免地会遇到用户没有列表访问权限的目录。例如“系统卷信息”目录,即使是管理员帐户也无法访问该目录。
您将不得不放弃 SearchOption.AllDirectories 选项并一次递归目录树一个目录,这样您就可以捕获访问异常。参见 this question示例代码。
关于c# - 使用 System.IO.SearchOption.AllDirectories 时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5764351/