Exception programming difficult
SomeDude
lovelydear at mailmetrash.com
Wed Aug 15 10:00:19 PDT 2012
On Sunday, 12 August 2012 at 04:36:22 UTC, Jonathan M Davis wrote:
> On Saturday, August 11, 2012 21:27:43 Walter Bright wrote:
>> Anyhow, that article is why D does not have exception
>> specifications. Also,
>> please note that C++ dropped exception specifications.
>
> Though it should be noted that exception specifications are
> _far_ worse than
> checked exceptions, because they're checked at runtime instead
> of compile
> time, and they kill your program if they fail. So, instead of
> all of the
> problems that you get with checked exceptions, you get your
> program killed at
> runtime when you don't get your code quite right.
>
> I think that you're going to have a hard time finding _anyone_
> who actually
> understands what C++'s exception specifications do and still
> thinks that
> they're a good idea, whereas you _will_ find people who fully
> understand
> checked exceptions and still think that they're a good idea.
>
> - Jonathan M Davis
Yup, I'm among them, and I believe the only problem with checked
exceptions is that most people don't understand how to use them.
The main problem people have with checked exceptions is that they
are forced to handle error/exceptional cases, and therefore to
think about them. To my knowledge, there are no absolute rules or
truths in error handling, and therefore it seems it throws people
in all sorts of perplexity, because when it's not specified,
programmers have no idea who is supposed to handle an exception,
and how. So the worst offenders wipe them under the rug, which is
borderline criminal, because it can make it nearly impossible to
find the root cause of some runtime errors. Exceptions are
integral part of an interface, not an afterthought, i.e they are
part of an API design. But most average programmers never think
about error handling until the program explodes in their face (or
that of the customer). When one thinks about error handling
upfront, checked exceptions aren't a problem, they are a very
useful tool, and I use them all the time.
More information about the Digitalmars-d
mailing list