Как обработать исключение? - C# (177416)
Формулировка задачи:
Здравствуйте.
Если для доступа к папке требуются права, то вылетает исключение, и поиск директорий прекращается. Как это исправить? (Возможно можно как нибудь пропустить такие директории?)
Заранее благодарен за помощь!
Листинг программы
- DirectoryInfo dir = new DirectoryInfo(@"С:");
- foreach (var item in dir.GetDirectories())
- {
- Console.WriteLine(item.Name);
- foreach (var it in item.GetDirectories("*", SearchOption.AllDirectories))
- {
- Console.WriteLine(" " + it);
- }
- Console.WriteLine();
- }
Решение задачи: «Как обработать исключение?»
textual
Листинг программы
- static void Main(string[] args)
- {
- DirectoryInfo root = new DirectoryInfo(@"c:");
- List<DirectoryInfo> directories = new List<DirectoryInfo>();
- List<FileInfo> files = new List<FileInfo>();
- int errorCount = 0;
- Foo(root);
- Console.WriteLine($"отказов в доступе: {errorCount}");
- void Foo(DirectoryInfo dir)
- {
- directories.Add(dir);
- Console.WriteLine(dir.Name);
- try
- {
- foreach(DirectoryInfo item in dir.EnumerateDirectories())
- {
- Foo(item);
- }
- files.AddRange(dir.EnumerateFiles());
- }
- catch(Exception e)
- {
- ++errorCount;
- }
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д