Enumeracja wszystkich plików z podanej ścieżki

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 .

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).

1
  1. nie masz praw dostepu do tego folderu
  2. try catch powinien obejmowac foreacha a nie byc wewnatrz
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 .

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 .

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