[phobos] Drought of functions that throw exceptions
Richard Palme
richardpalme at tutanota.de
Thu Nov 1 12:05:28 UTC 2018
On Thursday, 1 November 2018 at 08:42:28 UTC, Don Clugston wrote:
> Absolutely there is a reason. Exceptions are very expensive,
> especially in low-level functions.
Then I got a few follow-up questions (I hope this isn't the wrong
place for beginner questions):
1. Why is it that arrays throw RangeExceptions? Shouldn't that be
too costly too?
2. I might be wrong but I thought that in the following code
example the additional cost is only the cost of one additional
branch from the if statement, unless of course i >= length which
should never happen.
if (i < length)
{
//do something
}
else
{
throw new Exception();
}
3. When exceptions can't be used, then I guess the best way to
ensure safety are pre and post contracts. But I actually don't
know how to activate the contracts in phobos.
I thought that maybe I have to build both phobos and dmd with
$make -f posix.mak -j8 BUILD=debug
but I just tried that and I don't think it worked.
More information about the phobos
mailing list