Checked vs unchecked exceptions
mckoder via Digitalmars-d
digitalmars-d at puremagic.com
Mon Jun 26 08:10:24 PDT 2017
On Sunday, 25 June 2017 at 18:00:46 UTC, Eugene Wissner wrote:
> http://forum.dlang.org/post/ullvxbfqeuztwecxcygb@forum.dlang.org
>
As suggested by the post in above link I searched for "Walter
checked exceptions". I found a few posts where Walter points to
an article written by Bruce Eckel. Though the link to Eckel's
article no longer works, I am familiar with Eckel's arguments,
and I even exchanged emails with Eckel back in 2003 on this
topic. Suffice to say I believe Eckel is wrong on this topic.
Bruce Eckel argues that checked exceptions forces you to write
bad code (catch Exception base class) and Walter mentions this.
Eckel is wrong. The opposite is true. Lack of checked exceptions
forces you to catch Exception base class in order to prevent
crashes. If you know what exceptions are possible then you can
catch just those exceptions. If you don't know then you have to
rely on testing to find out what exceptions are possible but you
will never get an exhaustive list through testing since tests can
never be 100% comprehensive for non-trivial programs. So you end
up catching Exception base class, thus swallowing exceptions. I
have seen lots of large code bases in C# and Java written by very
good developers, and I can tell you that experience has proven
that "catch (Exception)" is common in C# code bases and rarely
seen in Java code bases.
More information about the Digitalmars-d
mailing list