commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Simone Tripodi (Commented) (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (CHAIN-67) Refactor of explicit Exception throws to a RuntimeException type
Date Mon, 05 Mar 2012 07:47:00 GMT

    [ https://issues.apache.org/jira/browse/CHAIN-67?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13222201#comment-13222201
] 

Simone Tripodi commented on CHAIN-67:
-------------------------------------

Patch looks more than good, I am going to apply it, thanks!
                
> 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
>            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

        

Mime
View raw message