On 4/29/2013 5:08 AM, monarch_dodra wrote:
I've hit this issue before: In D, if the *managed* memory runs out, then it is
an error (since then *everything* crumbles: arrays, GC. etc). The reason it is
an error is that since the memory is managed by the language, there is nothing
the user can do anyway, so throwing is pointless.

for unmanaged memory, on the otherhand, the user *can* do something about it, so
throwing is better.

You cannot call a function pure if it sometimes throws a recoverable exception and sometimes does not, and this is not based on the supplied arguments.

Reply via email to