I agree with your thoughts Elijah, when an exception is thrown nothing
can be done in the chain to rescue the error.
looking forward next patch!
best,
-Simo

http://people.apache.org/~simonetripodi/
http://simonetripodi.livejournal.com/
http://twitter.com/simonetripodi
http://www.99soft.org/



On Sun, Mar 4, 2012 at 7:39 AM, James Carman <[email protected]> wrote:
> I hate checked exceptions.  +1
>
> On Sat, Mar 3, 2012 at 11:07 PM, Elijah Zupancic <[email protected]> wrote:
>> 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:
>>
>>        ProfileContext context = new ProfileContext();
>>        Command<String, Object, ProfileContext> command = new ProfileCheck();
>>
>>        try {
>>            command.execute(context);
>>        }
>>        catch (Exception e) {
>>            throw new RuntimeException(e);
>>        }
>>
>> 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. If anyone thinks that this is a good idea, I can whip up
>> a patch quickly.
>>
>> Thanks,
>> -Elijah
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: [email protected]
>> For additional commands, e-mail: [email protected]
>>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]
>

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to