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 <denn...@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. >