On Monday, 20 February 2012 at 17:47:35 UTC, Andrei Alexandrescu
wrote:
On 2/20/12 11:32 AM, foobar wrote:
On Monday, 20 February 2012 at 17:12:17 UTC, Andrei
Alexandrescu wrote:
On 2/20/12 11:08 AM, Mafi wrote:
If it's supposed to be simple factorization, then you should
replace
"throw r" with "return r". Then the name of that function
doesn't make
much sense anymore. But then you can better search for throw
in user
code and the stack traces aren't obfuscated anymore.
throw createEx!AcmeException("....");
I think that's a great idea, thanks.
Andrei
I fail to see the point in this. Why is the above better than
throw AcmeException("....");
If you want to avoid boilerplate code in the definition of
AcmeException, this can be better accomplished with a mixin.
The advantage is that e.g. the compiler can see that flow ends
at throw. Other languages have a "none" type that function may
return to signal they never end.
Andrei
I meant -
what's the benefit of:
throw createEx!AcmeException("....");
vs.
throw AcmeException("....");
As far as I can see, the former has no benefits over the simpler
latter option.