Skip to content

Commit 6d21e67

Browse files
committed
Merge pull request lukebuehler#10 from naveensrinivasan/master
Handling UnauthorizedAccessException
2 parents d75dcca + e507f7e commit 6d21e67

1 file changed

Lines changed: 20 additions & 14 deletions

File tree

Src/CShell/Modules/Workspace/ViewModels/FolderViewModel.cs

Lines changed: 20 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -81,22 +81,28 @@ protected BindableCollection<TreeViewModel> LoadChildren()
8181
var filters = filterStrings.Select(fs=> new Regex(fs, RegexOptions.IgnoreCase)).ToArray();
8282

8383
var items = new BindableCollection<TreeViewModel>();
84-
var dirs = directoryInfo.GetDirectories();
85-
foreach (var dir in dirs)
86-
{
87-
if(filters.Any(f => f.IsMatch(dir.Name)))
88-
continue;
89-
var folderVm = new FolderViewModel(dir, workspace);
90-
items.Add(folderVm);
91-
}
92-
var files = directoryInfo.GetFiles();
93-
foreach (var file in files)
84+
try
9485
{
95-
if (filters.Any(f => f.IsMatch(file.Name)))
96-
continue;
97-
var fileVm = new FileViewModel(file);
98-
items.Add(fileVm);
86+
var dirs = directoryInfo.GetDirectories();
87+
foreach (var dir in dirs)
88+
{
89+
if(filters.Any(f => f.IsMatch(dir.Name)))
90+
continue;
91+
var folderVm = new FolderViewModel(dir, workspace);
92+
items.Add(folderVm);
93+
}
94+
var files = directoryInfo.GetFiles();
95+
foreach (var file in files)
96+
{
97+
if (filters.Any(f => f.IsMatch(file.Name)))
98+
continue;
99+
var fileVm = new FileViewModel(file);
100+
items.Add(fileVm);
101+
}
99102
}
103+
catch (UnauthorizedAccessException ) // Does not have access to the folder cannot iterate.
104+
{ }
105+
100106
return items;
101107
}
102108

0 commit comments

Comments
 (0)