Enumeracja wszystkich plików z podanej ścieżki

Enumeracja wszystkich plików z podanej ścieżki
V2
  • Rejestracja:ponad 13 lat
  • Ostatnio:ponad rok
  • Postów:11
0

Cześć , jest sobie taki o to kod , jest ustawiona obsługa wyjątku a pomimo to program wysypuje się na braku obsługi tego wyjątku
(VS 2013 , NET 4.6.2) , jestem samouczny i początkujący więc może gdzieś popełniłem błąd i nie potrafię go zauważyć .Dzięki za ewentualny odzew .

Kopiuj
class kopiarka
    {
        internal void buildEnumerateTable(string directoryPatch)
        {
            List<FileInfo> fileinfoList = new List<FileInfo>();
            List<DirectoryInfo> directoryInfo = new List<DirectoryInfo>();
            List<string> exceptionList = new List<string>();

            DirectoryInfo diTop = new DirectoryInfo(directoryPatch);
            
            foreach (var file in diTop.EnumerateFiles("*",SearchOption.AllDirectories))
            {
                try { fileinfoList.Add(file); }
                
                catch(UnauthorizedAccessException) { continue; }
            }           
        }
     }
 

po zrobieniu set plików dostaję komunikat o wystąpieniu UnauthorizedAccessException i program całkowicie przerywa działanie .

e88eff94ad.png

1

Masz obsługę wyjątku w czasie iteracji, do której program nie wchodzi. A wyjątek chyba dokładnie opisuje co jest nie tak (brak dostępu).

fasadin
  • Rejestracja:prawie 14 lat
  • Ostatnio:prawie 3 lata
  • Postów:4882
1
  1. nie masz praw dostepu do tego folderu
  2. try catch powinien obejmowac foreacha a nie byc wewnatrz
V2
  • Rejestracja:ponad 13 lat
  • Ostatnio:ponad rok
  • Postów:11
0
Czarny Kot napisał(a):

Masz obsługę wyjątku w czasie iteracji, do której program nie wchodzi. A wyjątek chyba dokładnie opisuje co jest nie tak (brak dostępu).

dzięki za info ,wiem czego dotyczy wyjątek natomiast nie wiedziałem skąd się pojawił skoro teoretycznie jak ,(żle) mi się wydawało był obsługiwany .

V2
  • Rejestracja:ponad 13 lat
  • Ostatnio:ponad rok
  • Postów:11
0
fasadin napisał(a):
  1. nie masz praw dostepu do tego folderu
  2. try catch powinien obejmowac foreacha a nie byc wewnatrz

dzięki ,poprawiłem - wyłapuje .

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.