You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hivemind.apache.org by "Howard M. Lewis Ship (JIRA)" <hi...@jakarta.apache.org> on 2005/01/03 23:32:50 UTC

[jira] Commented: (HIVEMIND-82) Exception handling needs to allow RuntimeExceptions through rather than wrapping them yet again

     [ http://issues.apache.org/jira/browse/HIVEMIND-82?page=comments#action_57219 ]
     
Howard M. Lewis Ship commented on HIVEMIND-82:
----------------------------------------------

Especially on JDK 1.4, it is very easy to write a top-level handler that digs down through the exception stack to find the deepest exception.

If you've used Tapestry, you know that each exception wrapper will, typically, add new information (either in the message, or the properties, or especially in the location property).  This can be very useful for tracking down errors.

> Exception handling needs to allow RuntimeExceptions through rather than wrapping them yet again
> -----------------------------------------------------------------------------------------------
>
>          Key: HIVEMIND-82
>          URL: http://issues.apache.org/jira/browse/HIVEMIND-82
>      Project: HiveMind
>         Type: Improvement
>   Components: framework
>     Versions: 1.0, 1.1
>     Reporter: Hal Hildebrand
>     Priority: Minor

>
> There's a lot of creation of ApplicationRuntimeExceptions, a RuntimeException, in the framework.  There are also quite a number of error handlers for Exception which wrap the Exception in an ApplicationRuntimeException.  All of these error handlers should have another handler for RuntimeException which allows these exceptions to blow through without wrapping.
> for example, instead of:
> try {
> } catch (Exception e) {
>   throw new ApplicationRuntimeException(UtilMessages.invokeFailed(c, ex), null, ex);
> }
> this should be:
> try {
> } catch (RuntimeException e) {
>   throw e;
> } catch (Exception e) {
>   throw new ApplicationRuntimeException(UtilMessages.invokeFailed(c, ex), null, ex);
> }
> This significantly cuts down on the redundant wrapping of ApplicationRuntimeExceptions.  These redundant wrappings just make for HUGE stack traces which obscure where the problem really is.  It also looks really ugly.

-- 
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
-
If you want more information on JIRA, or have a bug to report see:
   http://www.atlassian.com/software/jira


---------------------------------------------------------------------
To unsubscribe, e-mail: hivemind-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: hivemind-dev-help@jakarta.apache.org