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

Reply via email to