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