Convert Exceptions to RuntimeExceptions
---------------------------------------
Key: VELOCITY-409
URL: http://issues.apache.org/jira/browse/VELOCITY-409
Project: Velocity
Type: Improvement
Components: Source
Versions: 1.4
Reporter: Will Glass-Husain
Priority: Minor
Fix For: 2.0
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'd argue that Velocity exceptions like ParseException and
ResourceNotFoundException are of the "horribly wrong" category. Probably
MethodInvocationException as well. In version 2.0, we should consider making
VelocityException a subclass of java.lang.RuntimeException.
Resources:
http://www-128.ibm.com/developerworks/java/library/j-jtp05254.html
Here's an argument against this practice:
http://java.sun.com/docs/books/tutorial/essential/exceptions/runtime.html
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]