Nothrow functions

Andrei Alexandrescu SeeWebsiteForEmail at erdani.org
Wed Oct 1 08:24:34 PDT 2008


dsimcha wrote:
> == Quote from Janderson (ask at me.com)'s article
>> Walter Bright wrote:
> http://www.reddit.com/r/programming/comments/74fx4/nothrow_functions_in_the_d_programming_language/
>> Perhaps now constructors can enforce no-throw.  Functions that have
>> throw would have to be handled in that constructor.  Of course we could
>> always do this manually, but it might be worth considering making on by
>> default for constructors.
>> -Joel
> 
> Please, please, please, please, *please* no!!!  Anything that is in any way
> similar to checked exception Hell in Java does not belong in D.  Nothrow is a
> great feature precisely because, by being a contract that is only enforced when
> the programmer explicitly asks for it to be, it can be simply ignored in places
> where one doesn't want to use it.  Making nothrow the default in constructors
> really smacks of Java-style bondage and discipline, and a major reason why I use D
> is to avoid such things.  If nothrow is the default *anywhere*, it will lead to
> aggravation and error swallowing similar to Java's checked exceptions.

I agree. Bondage and discipline, heh :o). I'm actually surprised at the 
desire of making most constructors nothrow. Why?

Andrei



More information about the Digitalmars-d mailing list