优雅处理 Directory.GetFiles 遍历目录时出现的 UnauthorizedAccessException 异常
在进行文件和目录操作时,使用 Directory.GetFiles
方法可能会遇到 UnauthorizedAccessException
异常。此异常发生在方法尝试访问用户缺乏相应权限的目录时。
为了解决这个问题,建议逐个探测目录,而不是遍历整个目录树。这种方法允许对操作进行更精细的控制。以下代码演示了一种改进的方法:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
|
在这个方法中,UnauthorizedAccessException
被捕获并优雅地处理,允许程序继续执行并可能发现其他可访问的文件。迭代继续遍历目录层次结构,递归调用自身以探索子目录。
通过使用此技术,您可以避免由于访问被拒绝错误而导致 Directory.GetFiles
方法终止,并保持对目录遍历过程的控制。 该方法使用 foreach
循环替代了 ToList().ForEach()
,使其更易读且效率更高。
以上是使用Directory.GetFiles遍历目录时如何处理UnauthorizedAccessException?的详细内容。更多信息请关注PHP中文网其他相关文章!