gpt4 book ai didi

c# - mscorlib.dll 中出现类型为 'System.UnauthorizedAccessException' 的未处理异常

转载 作者:太空狗 更新时间:2023-10-30 00:32:34 25 4
gpt4 key购买 nike

我试图在 C# 中创建一个简单的 Windows 资源管理器,例如 treeview,但是我在运行时遇到了这个错误:

An unhandled exception of type 'System.UnauthorizedAccessException' occurred in mscorlib.dll

Additional information: Access to the path 'c:\$Recycle.Bin\S-1-5-18' is denied.

我使用的代码与 Microsoft 来自 MS Tree View example 的示例完全相同.

为什么会出现此错误?

最佳答案

错误很明显;您的代码试图进入您无权访问的目录 - c:\$Recycle.Bin\S-1-5-18 目录(顺便说一下,它是本地系统的 SID)。不幸的是,此 MSDN 示例假定您的程序将有权访问每个目录,这不太现实。

您可以更改您的代码以优雅地处理它无权访问的目录(捕获异常并继续)。例如:如果我们更改代码示例的这一行:

subSubDirs = subDir.GetDirectories();

我怀疑你是从哪里得到这个错误的:

try
{
subSubDirs = subDir.GetDirectories();
}
catch (System.UnauthorizedAccessException)
{
subSubDirs = new DirectoryInfo[0];
}

这将优雅地处理无法获取特定文件夹的子项的问题。这使用 try-catch陈述。我们尝试获取文件夹中的目录,但是如果出现 System.UnauthorizedAccessException 异常,捕获它并假设没有子目录。

这是处理错误的基础,您可能会在您的应用程序中遇到其他类似的错误,比如因为用户单击了该文件夹,现在它正试图显示该目录的内容。

关于c# - mscorlib.dll 中出现类型为 'System.UnauthorizedAccessException' 的未处理异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17118537/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com