<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	>
<channel>
	<title>Comments on: Voting for Checked Exceptions</title>
	<atom:link href="http://cafe.elharo.com/blogroll/voting-for-checked-exceptions/feed/" rel="self" type="application/rss+xml" />
	<link>http://cafe.elharo.com/blogroll/voting-for-checked-exceptions/</link>
	<description>Longer than a blog; shorter than a book</description>
	<pubDate>Fri, 21 Nov 2008 20:53:09 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.3</generator>
		<item>
		<title>By: ralph</title>
		<link>http://cafe.elharo.com/blogroll/voting-for-checked-exceptions/#comment-244374</link>
		<dc:creator>ralph</dc:creator>
		<pubDate>Thu, 03 Jul 2008 19:05:13 +0000</pubDate>
		<guid isPermaLink="false">http://cafe.elharo.com/java/voting-for-checked-exceptions/#comment-244374</guid>
		<description>I wrote a service/daemon which scans several web sites, processes their content and uploads results into the database. Obviously it is supposed to be entirely transparent to the end user - no messages that something is wrong, it must try until it succeeds. So, various things can go wrong - database may be down, server may be unreachable, etc. But it doesn't care AT ALL, what's wrong - it's sufficient to know that SOMETHING went wrong to try again shortly. So, what's the point of checked exceptions here?

Regards</description>
		<content:encoded><![CDATA[<p>I wrote a service/daemon which scans several web sites, processes their content and uploads results into the database. Obviously it is supposed to be entirely transparent to the end user - no messages that something is wrong, it must try until it succeeds. So, various things can go wrong - database may be down, server may be unreachable, etc. But it doesn&#8217;t care AT ALL, what&#8217;s wrong - it&#8217;s sufficient to know that SOMETHING went wrong to try again shortly. So, what&#8217;s the point of checked exceptions here?</p>
<p>Regards</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Elliotte Rusty Harold</title>
		<link>http://cafe.elharo.com/blogroll/voting-for-checked-exceptions/#comment-232871</link>
		<dc:creator>Elliotte Rusty Harold</dc:creator>
		<pubDate>Fri, 30 May 2008 13:06:20 +0000</pubDate>
		<guid isPermaLink="false">http://cafe.elharo.com/java/voting-for-checked-exceptions/#comment-232871</guid>
		<description>Bruce at least has backed way off from that position, to the extent that he ever held it at all. The problem arises not from checked exceptions, but from using checked exceptions where runtime exceptions are appropriate. Using nothing but checked exceptions would indeed be atrocious. Fortunately that's never been necessary, and hasn't even been all that  common for the last six years or so (since &lt;a href='http://java.sun.com/docs/books/effective/' rel="nofollow"&gt;&lt;cite&gt;Effective Java&lt;/cite&gt;&lt;/a&gt; came out).

The "orthodox" position is not what you seem to think it is. Using nothing but checked exceptions has never been the orthodox position, though it's perhaps been parodied that way by developers who still don't want to spend time on error handling, with checked exceptions or otherwise.</description>
		<content:encoded><![CDATA[<p>Bruce at least has backed way off from that position, to the extent that he ever held it at all. The problem arises not from checked exceptions, but from using checked exceptions where runtime exceptions are appropriate. Using nothing but checked exceptions would indeed be atrocious. Fortunately that&#8217;s never been necessary, and hasn&#8217;t even been all that  common for the last six years or so (since <a href='http://java.sun.com/docs/books/effective/' rel="nofollow"><cite>Effective Java</cite></a> came out).</p>
<p>The &#8220;orthodox&#8221; position is not what you seem to think it is. Using nothing but checked exceptions has never been the orthodox position, though it&#8217;s perhaps been parodied that way by developers who still don&#8217;t want to spend time on error handling, with checked exceptions or otherwise.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Eric Herman</title>
		<link>http://cafe.elharo.com/blogroll/voting-for-checked-exceptions/#comment-232488</link>
		<dc:creator>Eric Herman</dc:creator>
		<pubDate>Thu, 29 May 2008 21:56:06 +0000</pubDate>
		<guid isPermaLink="false">http://cafe.elharo.com/java/voting-for-checked-exceptions/#comment-232488</guid>
		<description>2004 IBM "Java theory and practice" quote in-escapable:


    Recently, several well-regarded experts, including Bruce Eckel
    and Rod Johnson, have publicly stated that while they initially
    agreed completely with the orthodox position on checked
    exceptions, they've concluded that exclusive use of checked
    exceptions is not as good an idea as it appeared at first, and
    that checked exceptions have become a significant source of
    problems for many large projects.

http://www.ibm.com/developerworks/java/library/j-jtp05254.html

http://www.tiedyedfreaks.org/eric/CheckedExceptions.xhtml</description>
		<content:encoded><![CDATA[<p>2004 IBM &#8220;Java theory and practice&#8221; quote in-escapable:</p>
<p>    Recently, several well-regarded experts, including Bruce Eckel<br />
    and Rod Johnson, have publicly stated that while they initially<br />
    agreed completely with the orthodox position on checked<br />
    exceptions, they&#8217;ve concluded that exclusive use of checked<br />
    exceptions is not as good an idea as it appeared at first, and<br />
    that checked exceptions have become a significant source of<br />
    problems for many large projects.</p>
<p><a href="http://www.ibm.com/developerworks/java/library/j-jtp05254.html" onclick="javascript:pageTracker._trackPageview('/outbound/comment/www.ibm.com');" rel="nofollow">http://www.ibm.com/developerworks/java/library/j-jtp05254.html</a></p>
<p><a href="http://www.tiedyedfreaks.org/eric/CheckedExceptions.xhtml" onclick="javascript:pageTracker._trackPageview('/outbound/comment/www.tiedyedfreaks.org');" rel="nofollow">http://www.tiedyedfreaks.org/eric/CheckedExceptions.xhtml</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ricardo Mayerhofer</title>
		<link>http://cafe.elharo.com/blogroll/voting-for-checked-exceptions/#comment-210523</link>
		<dc:creator>Ricardo Mayerhofer</dc:creator>
		<pubDate>Thu, 27 Mar 2008 13:08:58 +0000</pubDate>
		<guid isPermaLink="false">http://cafe.elharo.com/java/voting-for-checked-exceptions/#comment-210523</guid>
		<description>Java should add a "unchecked" keywork in method signature. So if my application calls a API that throws a exception that I don't care about, I could just  put it as "throws unchecked DontCareException" in my calling method. That way the APIs keeps reporting the possible problems and I choose the ones that are important for me (which may not be the same of others, considering that domains and context are differents).</description>
		<content:encoded><![CDATA[<p>Java should add a &#8220;unchecked&#8221; keywork in method signature. So if my application calls a API that throws a exception that I don&#8217;t care about, I could just  put it as &#8220;throws unchecked DontCareException&#8221; in my calling method. That way the APIs keeps reporting the possible problems and I choose the ones that are important for me (which may not be the same of others, considering that domains and context are differents).</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: java</title>
		<link>http://cafe.elharo.com/blogroll/voting-for-checked-exceptions/#comment-134754</link>
		<dc:creator>java</dc:creator>
		<pubDate>Sat, 29 Sep 2007 11:59:28 +0000</pubDate>
		<guid isPermaLink="false">http://cafe.elharo.com/java/voting-for-checked-exceptions/#comment-134754</guid>
		<description>&lt;strong&gt;java&lt;/strong&gt;

Free Online Vedios www.flashgamesz.net/mediacentre</description>
		<content:encoded><![CDATA[<p><strong>java</strong></p>
<p>Free Online Vedios <a href="http://www.flashgamesz.net/mediacentre" onclick="javascript:pageTracker._trackPageview('/outbound/comment/www.flashgamesz.net');" rel="nofollow">http://www.flashgamesz.net/mediacentre</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Joshua</title>
		<link>http://cafe.elharo.com/blogroll/voting-for-checked-exceptions/#comment-129899</link>
		<dc:creator>Joshua</dc:creator>
		<pubDate>Sun, 16 Sep 2007 23:35:40 +0000</pubDate>
		<guid isPermaLink="false">http://cafe.elharo.com/java/voting-for-checked-exceptions/#comment-129899</guid>
		<description>I am fed up with checked exceptions for this reason:

I am greatly for try/finally and a top-level handeler for most exceptions. I do handle ones that I can (which isn't all that many). Most exceptions we see at the global exception handler represent coding errors anyway (with almost all of the remaining ones being database timeout or misconfigured application).

I presume you would tell me to declare all methods as throws Exception(). That works until I need somebody else's interface that isn't declared as throws Exception.

Therefore, I would propose a much smaller change: when declaring methods that implement interfaces, allow loosening of the throws clause. e.g.

interface SomeInterface {
  void SomeMethod();
}

class SomeClass implements SomeInterface {
  void SomeMethod() throws IO.IOException() {
  }
}</description>
		<content:encoded><![CDATA[<p>I am fed up with checked exceptions for this reason:</p>
<p>I am greatly for try/finally and a top-level handeler for most exceptions. I do handle ones that I can (which isn&#8217;t all that many). Most exceptions we see at the global exception handler represent coding errors anyway (with almost all of the remaining ones being database timeout or misconfigured application).</p>
<p>I presume you would tell me to declare all methods as throws Exception(). That works until I need somebody else&#8217;s interface that isn&#8217;t declared as throws Exception.</p>
<p>Therefore, I would propose a much smaller change: when declaring methods that implement interfaces, allow loosening of the throws clause. e.g.</p>
<p>interface SomeInterface {<br />
  void SomeMethod();<br />
}</p>
<p>class SomeClass implements SomeInterface {<br />
  void SomeMethod() throws IO.IOException() {<br />
  }<br />
}</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Neal Gafter</title>
		<link>http://cafe.elharo.com/blogroll/voting-for-checked-exceptions/#comment-112462</link>
		<dc:creator>Neal Gafter</dc:creator>
		<pubDate>Sun, 22 Jul 2007 18:01:14 +0000</pubDate>
		<guid isPermaLink="false">http://cafe.elharo.com/java/voting-for-checked-exceptions/#comment-112462</guid>
		<description>You say: "Yet another hideous idea from the closures camp: removing checked exceptions from the language. Now they want to remove one of the features from Java that actually works to support their pet obfuscation."

This is incorrect in every significant way. I was careful to attribute the idea to Matt Shulman. I have no idea if he's "from the closure camp." I certainly did not say that I want to remove checked exceptions. The point of my post is that a simpler language (e.g. one without checked exceptions) is not necessarily a better language. Rather than being a "pet obfuscation", closures are an example of a language feature that more than carries its conceptual weight by enabling programs that are more clear than in their absence.</description>
		<content:encoded><![CDATA[<p>You say: &#8220;Yet another hideous idea from the closures camp: removing checked exceptions from the language. Now they want to remove one of the features from Java that actually works to support their pet obfuscation.&#8221;</p>
<p>This is incorrect in every significant way. I was careful to attribute the idea to Matt Shulman. I have no idea if he&#8217;s &#8220;from the closure camp.&#8221; I certainly did not say that I want to remove checked exceptions. The point of my post is that a simpler language (e.g. one without checked exceptions) is not necessarily a better language. Rather than being a &#8220;pet obfuscation&#8221;, closures are an example of a language feature that more than carries its conceptual weight by enabling programs that are more clear than in their absence.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Fred</title>
		<link>http://cafe.elharo.com/blogroll/voting-for-checked-exceptions/#comment-109696</link>
		<dc:creator>Fred</dc:creator>
		<pubDate>Thu, 12 Jul 2007 05:17:39 +0000</pubDate>
		<guid isPermaLink="false">http://cafe.elharo.com/java/voting-for-checked-exceptions/#comment-109696</guid>
		<description>It took me a long time to read all the comments, but it was worth it...
I tried to compile the arguments &lt;a href="http://freddy33.blogspot.com/2007/07/voting-for-good-exception-handling.html" rel="nofollow"&gt;here&lt;/a&gt;.</description>
		<content:encoded><![CDATA[<p>It took me a long time to read all the comments, but it was worth it&#8230;<br />
I tried to compile the arguments <a href="http://freddy33.blogspot.com/2007/07/voting-for-good-exception-handling.html" onclick="javascript:pageTracker._trackPageview('/outbound/comment/freddy33.blogspot.com');" rel="nofollow">here</a>.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Masklinn</title>
		<link>http://cafe.elharo.com/blogroll/voting-for-checked-exceptions/#comment-108272</link>
		<dc:creator>Masklinn</dc:creator>
		<pubDate>Sat, 07 Jul 2007 12:35:48 +0000</pubDate>
		<guid isPermaLink="false">http://cafe.elharo.com/java/voting-for-checked-exceptions/#comment-108272</guid>
		<description>&lt;blockquote&gt;Javaâ€™s exception handling is the single best error handling and reporting mechanism ever built into a programming language&lt;/blockquote&gt;
Not even close. Erlang's supervision tree-based error handling and reporting is a clear contender for the title of "single best error handling and reporting mechanism ever", Java's exception system -- with or without checked exceptions -- won't be in a lifetime.</description>
		<content:encoded><![CDATA[<blockquote><p>Javaâ€™s exception handling is the single best error handling and reporting mechanism ever built into a programming language</p></blockquote>
<p>Not even close. Erlang&#8217;s supervision tree-based error handling and reporting is a clear contender for the title of &#8220;single best error handling and reporting mechanism ever&#8221;, Java&#8217;s exception system &#8212; with or without checked exceptions &#8212; won&#8217;t be in a lifetime.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Neeraj</title>
		<link>http://cafe.elharo.com/blogroll/voting-for-checked-exceptions/#comment-107296</link>
		<dc:creator>Neeraj</dc:creator>
		<pubDate>Wed, 04 Jul 2007 09:34:39 +0000</pubDate>
		<guid isPermaLink="false">http://cafe.elharo.com/java/voting-for-checked-exceptions/#comment-107296</guid>
		<description>Hello Friends. A few days back I was asked this question "Whether Java should have checked exceptions?". At that point I didnt give it too much thought and said "Yes, checked excpetions enforce error handling at compile time, so they are good.". But after reading so many articles about checked vs unchecked exceptions I am getting more and more confused. Recently I read James Gosling's comments on checked exceptions as a reply to an interview and I thought he's right. But then I came across this page and after seeing so many different views on checked/unchecked exceptions, I am again back to square one. Here is what I think "Given that Java has concept of both checked and unchecked (RuntimeException) exceptions, dont you think that we have a option to choose? Although it may seem as some extra burden but its entirely possible to ignore the checked exceptions in Java altogether by wrapping them as RuntimeException."</description>
		<content:encoded><![CDATA[<p>Hello Friends. A few days back I was asked this question &#8220;Whether Java should have checked exceptions?&#8221;. At that point I didnt give it too much thought and said &#8220;Yes, checked excpetions enforce error handling at compile time, so they are good.&#8221;. But after reading so many articles about checked vs unchecked exceptions I am getting more and more confused. Recently I read James Gosling&#8217;s comments on checked exceptions as a reply to an interview and I thought he&#8217;s right. But then I came across this page and after seeing so many different views on checked/unchecked exceptions, I am again back to square one. Here is what I think &#8220;Given that Java has concept of both checked and unchecked (RuntimeException) exceptions, dont you think that we have a option to choose? Although it may seem as some extra burden but its entirely possible to ignore the checked exceptions in Java altogether by wrapping them as RuntimeException.&#8221;</p>
]]></content:encoded>
	</item>
</channel>
</rss>
