The Right Approach to Exceptions

deadalnix deadalnix at
Mon Feb 20 12:58:19 PST 2012

Le 20/02/2012 21:17, Nick Sabalausky a écrit :
> *However*, I think that:
> 1. That's an insufficient improvement to justify breaking the ultra-common
> "throw new NameOfException(args)" idiom.
> 2. The solution fails to cover the *entire* scope of the *real* problem:
> Classes that need to write boilerplate ctors which merely forward to the
> base class's ctors.  This issue is *not* limited to Exceptions, but Andrei's
> proposes solution *only* covers the case with Exceptions.
> A better solution has already been proposed:
>      class AcmeException : Exception
>      {
>          mixin inheritCtors!();  // Actual name open for bikeshedding
>      }
> Now, yes, this *is* admittedly more boilerplate than:
>      class AcmeException : Exception {}

On IRC we discussed the following solution : class with no defined ctor 
get default ctor forwarding argument to parent's ctor. If one is 
defined, this default behaviour disapear.

People were entusiasts about that. But I think we should discuss that in 
another thread.

More information about the Digitalmars-d mailing list