<?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: Exceptional Java - Less than perfect exceptions hierarchy</title>
	<atom:link href="http://littletutorials.com/2008/05/05/exceptional-java-less-than-perfect-exceptions-hierarchy/feed/" rel="self" type="application/rss+xml" />
	<link>http://littletutorials.com/2008/05/05/exceptional-java-less-than-perfect-exceptions-hierarchy/</link>
	<description>Bare bone information!</description>
	<pubDate>Sat, 19 Jul 2008 20:10:42 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.5.1</generator>
		<item>
		<title>By: Leo</title>
		<link>http://littletutorials.com/2008/05/05/exceptional-java-less-than-perfect-exceptions-hierarchy/#comment-617</link>
		<dc:creator>Leo</dc:creator>
		<pubDate>Fri, 11 Jul 2008 11:04:14 +0000</pubDate>
		<guid isPermaLink="false">http://littletutorials.com/?p=31#comment-617</guid>
		<description>I think that this issue is not so grave as you present it here. An Error should never be thrown by an application but by the JVM only (e.g. an OutOfMemoryError). So you should never inherit from Error anyway, neither directly from Throwable. The rule is simple: For unchecked custom exceptions, inherit from RuntimeException. For checked custom exceptions, inherit directly from Exception or one of its other subclasses.
APIs that throw Exceptions are indeed bad, but that's clearly an error in the API. Unfortunately there are developers who just won't understand this (I once tried to explain it to one, but she just didn't get it). If it causes grief to such developers then, well, may it be so.
With well-designed APIs (yes, they do exist) these points cease to be issues.</description>
		<content:encoded><![CDATA[<p>I think that this issue is not so grave as you present it here. An Error should never be thrown by an application but by the JVM only (e.g. an OutOfMemoryError). So you should never inherit from Error anyway, neither directly from Throwable. The rule is simple: For unchecked custom exceptions, inherit from RuntimeException. For checked custom exceptions, inherit directly from Exception or one of its other subclasses.<br />
APIs that throw Exceptions are indeed bad, but that&#8217;s clearly an error in the API. Unfortunately there are developers who just won&#8217;t understand this (I once tried to explain it to one, but she just didn&#8217;t get it). If it causes grief to such developers then, well, may it be so.<br />
With well-designed APIs (yes, they do exist) these points cease to be issues.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Daniel Pietraru</title>
		<link>http://littletutorials.com/2008/05/05/exceptional-java-less-than-perfect-exceptions-hierarchy/#comment-37</link>
		<dc:creator>Daniel Pietraru</dc:creator>
		<pubDate>Sat, 10 May 2008 21:37:10 +0000</pubDate>
		<guid isPermaLink="false">http://littletutorials.com/?p=31#comment-37</guid>
		<description>I think Java had an unexpected level of success even for its designers. Some of the APIs and other design decisions had a bad start and then the success forced backwards compatibility decisions. I think though Java's success was caused by:
1. Garbage collection
2. Checked exceptions
3. Continuation of the C/C++ syntax

and maybe it deserves the first place...

4. Huge effort invested in the libraries</description>
		<content:encoded><![CDATA[<p>I think Java had an unexpected level of success even for its designers. Some of the APIs and other design decisions had a bad start and then the success forced backwards compatibility decisions. I think though Java&#8217;s success was caused by:<br />
1. Garbage collection<br />
2. Checked exceptions<br />
3. Continuation of the C/C++ syntax</p>
<p>and maybe it deserves the first place&#8230;</p>
<p>4. Huge effort invested in the libraries</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Shams Mahmood</title>
		<link>http://littletutorials.com/2008/05/05/exceptional-java-less-than-perfect-exceptions-hierarchy/#comment-36</link>
		<dc:creator>Shams Mahmood</dc:creator>
		<pubDate>Sat, 10 May 2008 05:34:44 +0000</pubDate>
		<guid isPermaLink="false">http://littletutorials.com/?p=31#comment-36</guid>
		<description>I agree, this checked and unchecked exception hierarchy leaves a lot to be desired.
Really good point about swallowed exceptions, but it is more of a bad api design to cause such scenarios.</description>
		<content:encoded><![CDATA[<p>I agree, this checked and unchecked exception hierarchy leaves a lot to be desired.<br />
Really good point about swallowed exceptions, but it is more of a bad api design to cause such scenarios.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Casper Bang</title>
		<link>http://littletutorials.com/2008/05/05/exceptional-java-less-than-perfect-exceptions-hierarchy/#comment-35</link>
		<dc:creator>Casper Bang</dc:creator>
		<pubDate>Fri, 09 May 2008 19:24:17 +0000</pubDate>
		<guid isPermaLink="false">http://littletutorials.com/?p=31#comment-35</guid>
		<description>Good post (even if I am no fan of checked exceptions). I completely agree, it takes a while to understand the confusing hierarchy. I often think the whole way we currently handle exceptions could need an overhaul. Have you seen the proposal by Collin Fagan?

http://aberrantcode.blogspot.com/2008/03/try-and-try-again.html</description>
		<content:encoded><![CDATA[<p>Good post (even if I am no fan of checked exceptions). I completely agree, it takes a while to understand the confusing hierarchy. I often think the whole way we currently handle exceptions could need an overhaul. Have you seen the proposal by Collin Fagan?</p>
<p><a href="http://aberrantcode.blogspot.com/2008/03/try-and-try-again.html" rel="nofollow">http://aberrantcode.blogspot.com/2008/03/try-and-try-again.html</a></p>
]]></content:encoded>
	</item>
</channel>
</rss>

<!-- Dynamic Page Served (once) in 0.395 seconds -->
