iterate over a directory, dealing with permission errors

Dmitry Olshansky via Digitalmars-d digitalmars-d at puremagic.com
Fri Sep 18 07:35:15 PDT 2015


On 18-Sep-2015 15:03, Adrian Matoga wrote:
> On Friday, 18 September 2015 at 11:35:45 UTC, John Colvin wrote:
>> Posting here instead of learn because I think it uncovers a design flaw
>>
>> void main(string[] args)
>> {
>>     import std.file : dirEntries, SpanMode;
>>     import std.stdio : writeln;
>>     foreach(file; dirEntries(args[1], SpanMode.depth))
>>         writeln(file.name);
>> }
>>
>> Modify this program such that it will print "<file.name> access
>> denied" instead of crashing with an exception whenever it hits a
>> permissions problem. Remember that you might not even have permission
>> to read the directory given in args[1]. Remember that access
>> permissions can change at any time.
>>
>> It can be done, but it is seriously ugly.
>
> https://github.com/D-Programming-Language/phobos/pull/931
>
> I had to move to some urgent stuff instead of improving the PR and later
> I forgot about it. The discussion points out what not to do when solving
> this issue. :)

FYI

https://github.com/D-Programming-Language/phobos/pull/2768

-- 
Dmitry Olshansky


More information about the Digitalmars-d mailing list