[
https://issues.apache.org/struts/browse/STR-3119?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Paul Benedict updated STR-3119:
-------------------------------
Description: STR-2437 added the root cause to exceptions as much as
possible in JDK 1.4, but IllegalStateException and IllegalArgumentException do
not participate in this practice until JDK 5. (was: It would be exceptionally
helpful if the Struts project were to standardize
throughout development that all caught exceptions that are to be re-thrown
should contain the root cause unless a clearly stated, specific reason exists to
not do so.
For example, in org.apache.struts.taglib.tiles.InsertTag on any Exception within
doEngTag(), the following occurs:
catch (ServletException e) {
Throwable cause = e;
if (e.getRootCause() != null) {
cause = e.getRootCause();
}
String msg = "ServletException in '" + page + "': " + cause.getMessage();
log.error(msg, e);
throw new JspException(msg);
}
It would be rather simple to do the following for the last line:
throw new JspException(msg, e);
While the root exception message is logged, this information is not available to
an upper-level application layer. For example, if a custom SecurityException is
thrown on a JSP or Tag, important information may be lost in the propogation of
this exception.
I have looked within the 1.2.6 beta codebase (as of today, 25 April 2005) and
the approach remains the same.
Note: I did not choose the "Tiles Framework" for this report's Component
purposefully. In my opinion, it should be a standard coding procedure across
Struts, and possibly other Jakarta projects.)
Affects Version/s: (was: 1.1.1)
(was: 1.2.9)
(was: 1.3.8)
1.4.0
Reporter: Paul Benedict (was: Lukas Bradley)
Fix Version/s: (was: 1.4.0)
Future
> Standardize exceptions rethrows to contain root cause (JDK 5)
> -------------------------------------------------------------
>
> Key: STR-3119
> URL: https://issues.apache.org/struts/browse/STR-3119
> Project: Struts 1
> Issue Type: Improvement
> Components: Core, Extras, Scripting, Taglibs, Tiles 1 Plugin
> Affects Versions: 1.4.0
> Environment: Operating System: All
> Platform: All
> Reporter: Paul Benedict
> Assignee: Paul Benedict
> Priority: Minor
> Fix For: Future
>
>
> STR-2437 added the root cause to exceptions as much as possible in JDK 1.4,
> but IllegalStateException and IllegalArgumentException do not participate in
> this practice until JDK 5.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.