it would we nice to be able to add an exception handler for such an exception
... onExceptionFromCheckedException(Exception e) checked exceptions are always related to the business domain and usually always need to be refelected in the user interface in an apropriate way see also https://issues.apache.org/jira/browse/TAP5-44 :) g, kris Howard Lewis Ship <hls...@gmail.com> 10.02.2009 02:13 Bitte antworten an "Tapestry users" <users@tapestry.apache.org> An Tapestry users <users@tapestry.apache.org> Kopie Thema Re: Looking for 'magic RuntimeException wrapper' after component throws checked Exception The question is: what should you do with thrown exceptions from such a method? I wonder if we could go further down the meta-programming path, by introducing a method annotation to clue Tapestry in to what to do in case of a thrown exception in the method ... and that could be implemented as method advice provided by yet another ComponentClassTransformWorker. They're like potatoe chips! (Bet ya can't each just one!) On Mon, Feb 9, 2009 at 3:42 PM, manuel aldana <ald...@gmx.de> wrote: > Thanks, I guess I found it: > > RenderPhaseMethodWorker.java line 147: > builder.addln("catch (RuntimeException ex) { throw ex; }"); > builder.addln("catch (Exception ex) { throw new RuntimeException(ex); }"); > > btw: all this dynamic magic is really nice from runtime-view but also really > tough to debug :) > > > Ulrich Stärk schrieb: >> >> This probably happens during class transformation. I'd look somewhere in >> the o.a.t.transform packages. >> >> Uli >> >> manuel aldana schrieb: >>> >>> Hi, >>> >>> when a custom component throws a checked Exception it seems to be handled >>> by a kind of Interceptor, but I cannot find it while debugging or looking at >>> source code. I am sure there is some higher exception wrapping magic >>> involved here (though I haven't found any Interceptor or AOP style >>> wrapping)... >>> >>> This checked exception gets intercepted: >>> ----- >>> class Comp{ >>> @BeginRender >>> void renderMessage(MarkupWriter writer) throws Exception{ >>> throw new CheckedException(); >>> } >>> } >>> ---- >>> >>> >>> This unchecked exception does not get intercepted: >>> ---- >>> class Comp{ >>> @BeginRender >>> void renderMessage(MarkupWriter writer) { >>> throw new UncheckedException(); >>> } >>> } >>> ---- >>> >>> thanks. >>> >> >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org >> For additional commands, e-mail: users-h...@tapestry.apache.org > > > -- > manuel aldana > ald...@gmx.de > software-engineering blog: http://www.aldana-online.de > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org > For additional commands, e-mail: users-h...@tapestry.apache.org > > -- Howard M. Lewis Ship Creator Apache Tapestry and Apache HiveMind --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org