Rumah > pembangunan bahagian belakang > C++ > Bagaimana untuk Mengendalikan Ralat `UnauthorizedAccessException` Apabila Menggunakan `Directory.GetFiles`?

Bagaimana untuk Mengendalikan Ralat `UnauthorizedAccessException` Apabila Menggunakan `Directory.GetFiles`?

Mary-Kate Olsen
Lepaskan: 2025-01-07 15:21:44
asal
883 orang telah melayarinya

How to Handle `UnauthorizedAccessException` Errors When Using `Directory.GetFiles`?

Selesaikan Directory.GetFilesdilemparkan UnauthorizedAccessExceptionPengecualian

Apabila menggunakan Directory.GetFiles untuk mendapatkan laluan fail, anda mungkin menghadapi pengecualian UnauthorizedAccessException jika program tidak mempunyai hak akses kepada folder tertentu dalam direktori yang ditentukan. Pengecualian ini berlaku selepas kaedah cuba mengakses folder yang tidak boleh diakses, menyebabkan operasi ditamatkan lebih awal.

Untuk menyelesaikan masalah ini, adalah disyorkan untuk menggunakan pendekatan berulang daripada cuba mengakses keseluruhan pepohon direktori sekaligus. Contoh kod berikut menunjukkan cara menyiasat direktori dan mengumpul fail dengan selamat:

<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>
Salin selepas log masuk

Dengan menyelidik direktori satu demi satu, anda boleh mengelak daripada menamatkan keseluruhan operasi jika akses kepada folder tertentu ditolak. Ini membolehkan program meneruskan pemprosesan fail dalam direktori yang mempunyai hak akses. Kaedah ini mengendalikan keputusan Directory.GetFiles dengan lebih jelas daripada contoh asal, mengelakkan panggilan ToList() dan ForEach() yang tidak perlu serta meningkatkan kecekapan dan kebolehbacaan kod.

Atas ialah kandungan terperinci Bagaimana untuk Mengendalikan Ralat `UnauthorizedAccessException` Apabila Menggunakan `Directory.GetFiles`?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan