Kirk Evans Blog

.NET From a Markup Perspective

Is C# missing checked exceptions?

An interesting thread on SlashDot asks if a developer should learn C# or Java as a 2nd year student.  In typical SlashDot form, there are the usual uneducated anti-MS bashing comments on missing features that actually exist or comparisons of features where the author is clearly stretching to find something where the Java language excels over C#.  One such case is checked exceptions, which first surfaces in the comments thread here.  In more typical SlashDot form, the original question becomes hopelessly lost in a debate over the merits of checked exceptions and their utility.  I like to scroll to the bottom of the thread and read from the bottom up, trying to guess what the original subject might have been.

The real question is if C# is missing checked exceptions or not.  No, I am not asking if it is possible to implement them in C# or not, I am asking if this is a feature that should have been included at all and if it is a killer feature.  Given the arguments against checked exceptions that I have read so far by folks like Bruce Eckel and Anders Hejlsberg, I pretty convinced that the omission of checked exceptions was a good thing.