I have created CHAIN-95 [1] for this, since I don't have the time to think this through right now :-)
Benedikt [1] https://issues.apache.org/jira/browse/CHAIN-95 2013/6/19 Simone Tripodi <simonetrip...@apache.org> > Nice thought, feel free to give a try - I'd use the > observer/observable pattern for this > > best, > -Simo > > http://people.apache.org/~simonetripodi/ > http://twitter.com/simonetripodi > > > On Sun, Jun 16, 2013 at 11:21 AM, Benedikt Ritter <benerit...@gmail.com> > wrote: > > Hi, > > > > I'm thinking about adding an ExceptionHandler to Chain. It would look > like the following: > > > > public interface ExceptionHandler<K, V, C extends Map<K, V>> { > > > > /** > > * Tries to handle the given exception that was thrown during > chain execution. > > * > > * @return true if the handler was able to handle {@code thrown}. > > */ > > boolean handle(Exception thrown, C context); > > > > } > > > > The execution of a chain would change like this: > > - call the commands one after another. > > - if an exception is thrown during execution hand it to the registered > ExceptionHandlers until one returns true. > > - if a handler returns true, continue execution as if no exception has > been thrown. > > - if no handler is able to handle the exception, proceed with the normal > exception handling (call postProcess() methods on filters, wrap exception > into a ChainException) > > > > I'm not sure about how to register ExceptionHandlers. I was thinking > about adding: > > > > void register(Exception ex, ExceptionHandler handler) > > > > to chain. One handler could be registered for several Exceptions. > > > > WDYT? > > > > Benedikt > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org > > For additional commands, e-mail: dev-h...@commons.apache.org > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org > For additional commands, e-mail: dev-h...@commons.apache.org > >