Directory.GetFiles obsługa błędu dostępu do folderu

0

witam
Mam pewien problem z obsługą błędu System.UnauthorizedAccessException przy prostym przeszukiwaniu lokalizacji w celu znalezienia konkretnego pliku. Czy jest możliwość, aby po wystąpieniu błędu dalej wykonywane było przeszukiwanie a folder, do którego nie ma dostępu ignorowany ? Czy muszę sam napisać metodę przeszukującą przy użyciu rekusji ?
Kod metody

        public static List<string> GetFiles(string filename, string searchPlace)
        {
            List<string> list = new List<string>();
            try
            {
                list = Directory.GetFiles(searchPlace, filename, SearchOption.AllDirectories).ToList();
                if (list.Count == 0)
                {
                    Console.WriteLine("W lokalizacji {1} nie znaleziono pliku {0}",filename,searchPlace);
                }
            }
            catch (UnauthorizedAccessException ex)
            {
                Console.WriteLine(ex.Message);
            }
            return list;
        }
 

A jeszcze nie zakładając nowego tematu:
W ex.Message dostaję coś takiego: Odmowa dostępu do ścieżki "D:\cos\cos cos". Jak można rozdzielić Ten ciąg znaków żeby otrzymać D:\cos\cos cos. Próbowałem robić

string[] help = ex.Message.Split('"');

ale nie działa, a jak sprawdzam na prostym przykładzie: char a = '"';
string b = string.Format("{0} ala ma kota{0}",a);
foreach (var element in b.Split('"'))
{
Console.WriteLine(element);
}

 to działa :(.
0

dzięki @abrakadaber musiałem jakoś to przeoczyć. A tak swoją drogą to te rozwiązanie dosyć długo się wykonuje np jeśli chce się coś znaleźć na partycji systemowej. Czy nie ma lepszego sposobu na zoptymalizowanie wyszukiwania wyników?

A jakby ktoś mógł mi jeszcze odpowiedzieć na drugą cześć mojego posta to bym był bardzo wdzięczny bo tam jakiś dziwny zabieg z tym znakiem " jest.

1 użytkowników online, w tym zalogowanych: 0, gości: 1