[
https://issues.apache.org/jira/browse/CONFIGURATION-384?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Oliver Heger updated CONFIGURATION-384:
---------------------------------------
Fix Version/s: (was: 2.0)
2.x
> ConfigurationException is a checked exception; should be unchecked
> ------------------------------------------------------------------
>
> Key: CONFIGURATION-384
> URL: https://issues.apache.org/jira/browse/CONFIGURATION-384
> Project: Commons Configuration
> Issue Type: Wish
> Affects Versions: 1.6
> Reporter: mjh
> Priority: Minor
> Fix For: 2.x
>
>
> There's a movement in the field to simplify Java development by using
> unchecked Exceptions rather than checked Exceptions. Most notably this
> approach has been championed by Rod Johnson (J2EE without EJB, Spring
> Framework) and Bruce Eckels (Thinking in Java). In the last 2 years, popular
> libraries like Spring Framework and Hibernate 3.0 have used unchecked
> exceptions.
> Quote from the DeveloperWorks article listed below:
> "Some exceptions are basically secondary return codes (which generally signal
> violation of business rules), and some are of the "something went horribly
> wrong" variety (such as failure to make a database connection). Johnson
> advocates using checked exceptions for the first category (alternative return
> codes), and runtime exceptions for the latter category. In the "something
> went horribly wrong" category, the motivation is simply to recognize the fact
> that no caller is going to effectively handle this exception, so it might as
> well get propagated all the way up the stack with the minimum of impact on
> the intervening code (and minimize the chance of exception swallowing)."
> I have listed this as a bug rather than an improvement as it is common for
> developers to simply wrap configuration sections in a try { .. } catch (
> ConfigurationException ignore ) {}, which inevitably leads to buggy code
> further down the line.Even if the ConfigurationException is caught, it is
> likely to be wrapped in a RuntimeException subclass for reporting, which is
> also unnecessarily obtuse.
> It makes sense for this Exception to be unchecked (RuntimeException subclass)
> so that developers can decide whether the exception condition is worthy of
> catching or should be allowed to propagate as best suits their application.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)