
スローされた Directory.GetFiles例外UnauthorizedAccessExceptionを解決します
を使用してファイル パスを取得する場合、プログラムに指定されたディレクトリ内の特定のフォルダーへのアクセス権がない場合、Directory.GetFiles 例外が発生する可能性があります。この例外は、メソッドがアクセスできないフォルダーにアクセスしようとした後に発生し、操作が途中で終了します。 UnauthorizedAccessException
ディレクトリを 1 つずつ調査することで、特定のフォルダーへのアクセスが拒否された場合に操作全体が終了することを回避できます。これにより、プログラムはアクセス権のあるディレクトリ内のファイルの処理を続行できるようになります。 このメソッドは、元の例よりも
<code class="language-csharp">private static void AddFiles(string path, IList<string> files)
{
try
{
foreach (string file in Directory.GetFiles(path))
{
files.Add(file);
}
foreach (string subdirectory in Directory.GetDirectories(path))
{
AddFiles(subdirectory, files);
}
}
catch (UnauthorizedAccessException ex)
{
// 以优雅的方式处理访问被拒绝的异常。
// 可以记录问题或继续处理下一个目录。
// 例如:Console.WriteLine($"Access denied to directory: {path}, Exception: {ex.Message}");
}
}</code> および Directory.GetFiles 呼び出しを回避し、コードの効率と読みやすさを向上させます。 ToList()
以上が「Directory.GetFiles」使用時の「UnauthorizedAccessException」エラーを処理する方法?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。