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 :(.