[ http://issues.apache.org/jira/browse/HIVEMIND-82?page=comments#action_64503 ] James Carman commented on HIVEMIND-82: --------------------------------------
I would say that the easiest way to go about this is to let the compiler tell us what's wrong... 1. Make all constructors private in ApplicationRuntimeException. 2. Create public static ApplicationRuntimeException wrap() methods corresponding to the signatures of the constructors. The wrap method would do exactly as you said, wrapping any exceptions that aren't already wrapped and simply returning those that are. 3. Fix all the code that uses the constructors directly, instead pointing them to the new wrap methods instead. Does that make sense? > 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 - 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]
