Ravi wrote:
On Thursday 02 October 2008 16:42:24 Charles Karney wrote:
The increment operator in filesystem::recursive_directory_iterator throws an exception when trying to enter an unreadable directory (permissions, no-such-device, etc.). Often (usually?), a user wants to be able to skip the unreadable directory and continue the iteration over the rest of the directory tree.
Catching this exception doesn't help because the iterator hasn't been incremented and I couldn't figure a way to skip over the unreadble directory.
Could you please file a trac item for this? The patch that you have proposed does not seem right; the user might wish to be informed. Perhaps the right approach is to throw the exception but ensure that the user can still skip over the unreadable directory after catching the exception.
Regards, Ravi
It's not obvious where I file a trac item... Please tell me where or else
feel free to file on my behalf. (I'm not a registered boost developer.)
I agree that it's not obvious how this error should be handled. Letting
the user trap the error and then skip the unreadable directory is a
possibility. However, wrapping a try/catch around the increment clause
of a for loop seems to be awkward. My patch effectively treats unreadable
directories as empty which would seem to be plausible default (and such
behavior should be documented of course).
--
Charles Karney