[
https://issues.apache.org/jira/browse/CHAIN-67?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Simone Tripodi resolved CHAIN-67.
---------------------------------
Resolution: Fixed
Assignee: Simone Tripodi
Hi Elijah,
patch applied, see r1297032 for more details!
I just adjusted minor signatures to get advantage from generics and avoid
string concatenation, but the rest is OK ;)
Thanks for contributing!
> Refactor of explicit Exception throws to a RuntimeException type
> ----------------------------------------------------------------
>
> Key: CHAIN-67
> URL: https://issues.apache.org/jira/browse/CHAIN-67
> Project: Commons Chain
> Issue Type: Improvement
> Affects Versions: 2.0
> Reporter: Elijah Zupancic
> Assignee: Simone Tripodi
> Priority: Minor
> Labels: exception-handling
> Fix For: 2.0
>
> Attachments: chain-67.diff
>
> Original Estimate: 2h
> Remaining Estimate: 2h
>
> As I've been working on the examples and the documentation for v2 of
> chain, I've noticed that the API for exception handling of Command and
> Chain is clunky.
> When executing a command like:
> {code:java}
> ProfileContext context = new ProfileContext();
> Command<String, Object, ProfileContext> command = new ProfileCheck();
> try {
> command.execute(context);
> }
> catch (Exception e) {
> throw new RuntimeException(e);
> }
> {code}
> The user of chain has to explicitly catch Exception. If the desire was
> to catch the most base error and force the user to deal with it, why
> aren't we using Throwable? Anyways, this design leads to less than
> elegant code and since we will be breaking the API in v2, I would like
> to suggest a different approach.
> I suggest that Command and Chain should throw a custom exception class
> called ChainException that inherits from RuntimeException. And in the
> CommandBase, ChainBase we wrap the catch of Exception in this runtime
> exception. Moreover, we would attach to ChainException some optional
> debug information about the Context invoked when the exception was
> encountered.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira