dirEntries throws exception on broken symlinks
Timothee Cour
thelastmammoth at gmail.com
Tue Jan 7 15:45:11 PST 2014
I reported this here some time ago:
http://d.puremagic.com/issues/show_bug.cgi?id=11501 (dup of
http://d.puremagic.com/issues/show_bug.cgi?id=8298)
and there's a pull request ready, not sure why it isn't being merged
On Sun, Jan 5, 2014 at 10:20 PM, dennis <dennisr at visi.com> wrote:
> On Sunday, 5 January 2014 at 21:33:56 UTC, FreeSlave wrote:
>
>> You must not cast base class to derived class, when you don't know actual
>> type (and even if you know exact type it's still bad practice to cast
>> instance of more generic type to more specific one). Use multiple catch
>> statements instead:
>>
>> catch(FileException o)
>> {
>> //handle FileException
>> }
>> catch(Exception o)
>> {
>> //handle all other types of exceptions
>> }
>>
>> About dirEntries, you need to move your try/catch statements into loop
>> somehow. You probably should save result of dirEntries to variable and then
>> make manual loop instead of foreach. Result of dirEntries is lazy, so it
>> will not throw exception when you just get it.
>>
>> It may look like
>>
>> auto entries = dirEntries(your args);
>> while(!entries.empty)
>> {
>> try
>> {
>> entry = entries.front;
>> //do your stuff
>> }
>> //"catch" statements
>> finally
>> {
>> entries.popFront();
>> }
>> }
>>
>
> Thank you for the quick feedback. Your explanation of the two problems
> works for me.
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.puremagic.com/pipermail/digitalmars-d-learn/attachments/20140107/9dd62664/attachment.html>
More information about the Digitalmars-d-learn
mailing list