On Thursday, March 23, 2017 23:26:38 rikki cattermole via Digitalmars-d 
wrote:
> On 23/03/2017 11:20 PM, Георгий wrote:
> > On Thursday, 23 March 2017 at 09:48:54 UTC, Jonathan M Davis wrote:
> >> On Thursday, March 23, 2017 09:31:23 Георгий via Digitalmars-d wrote:
> >>
> >> If a function exists but has no implementation yet, it should use
> >> assert(0).
> >
> > I didn't know that.
>
> That will throw an AssertError. You should try not to catch Error's.
> So there still needs to be an exception of some kind.

My point was that it's bad design to be throwing an exception because
something isn't implemented. If something isn't implemented, it's a bug.
assert(0) is a great way to indicate that something isn't implemented yet
and have the program die (like it should) if that function inadvertently
gets called.

I know that there are cases in Java land where folks (even the standard
library in some cases) have a class implement an interface but not truly
implement all of it and have the functions that aren't properly implemented
throw an exception. But I don't see how that can be anything but bad design,
and I don't think that we should be promoting such behavior in D's standard
library.

- Jonathan M Davis


Reply via email to