dirEntries throws exception on broken symlinks
dennis
dennisr at visi.com
Sun Jan 5 22:20:36 PST 2014
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.
More information about the Digitalmars-d-learn
mailing list