Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah Saya Boleh Mengendalikan UnauthorizedAccessException Dengan Anggun Apabila Menggunakan Directory.GetFiles?
Pendapatan Fail Teguh: Mengendalikan UnauthorizedAccessException dalam Directory.GetFiles
Operasi sistem fail sering menghadapi masalah kebenaran, mengakibatkan UnauthorizedAccessException
apabila menggunakan Directory.GetFiles
. Pengecualian ini biasanya menghentikan keseluruhan proses jika satu direktori yang tidak boleh diakses ditemui. Penyelesaian yang lebih mantap melibatkan menyemak akses direktori secara individu.
Pendekatan yang dipertingkatkan ini, yang diperincikan di bawah, berulang melalui setiap direktori, membolehkan pengendalian sekatan akses dengan bijak.
Penyelesaian Pengambilan Fail Terpilih
Kaedah AddFiles
memproses direktori secara rekursif. Ia menggunakan ungkapan lambda untuk menambah laluan fail pada senarai, mengabaikan direktori dengan akses terhad.
<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) { // Ignore access denied errors and continue processing other directories. } }</code>
Kaedah yang disemak ini dengan cekap mengendalikan UnauthorizedAccessException
pengecualian dalam blok try-catch
. Program ini meneruskan pelaksanaan, mengumpul fail daripada direktori yang boleh diakses tanpa ranap. Ini memberikan kawalan yang lebih baik dan menghalang penamatan pramatang disebabkan oleh had akses. Penggunaan foreach
gelung meningkatkan kebolehbacaan berbanding pendekatan ToList().ForEach()
asal.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengendalikan UnauthorizedAccessException Dengan Anggun Apabila Menggunakan Directory.GetFiles?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!