Thanks Gagan for commenting esp. from the accel side. @Jan, I just committed this patch -- seems quite reasonable to me. Thanks!
On Wed, Jun 23, 2010 at 11:09 AM, <[email protected]> wrote: > What we are trying is different from your example. This is our use case > in terms of your example: > > > static class A { > protected void hello() { > // do something > > } > } > > static class B extends A { > protected void hello() { > super.hello(); > customHello(); > } > > private void customHello() /*throws GadgetException*/ { > // do something that may throw GadgetException > } > } > > We would like to be able to propagate the GadgetException from > customHello(), and have customHello() declare to throw a > GadgetException, but for this to happen, hello() also must declare to > throw a GadgetException. > > > > On 2010/06/23 17:31:43, gagan.goku wrote: > >> On 2010/06/23 16:55:47, janluehe wrote: >> > We override setRequestHeaders to add some product-specific headers, >> > and when > >> > determining their values, checked exceptions may be thrown. >> > Currently, we have > >> > to log them as severe errors, but we'd really like to be able to >> > wrap them > >> > inside GadgetException and have ProxyBase#outputError take care of >> > producing > >> an >> > error response. >> > >> > >> > On 2010/06/23 16:36:35, gagan.goku wrote: >> > > On 2010/06/23 16:05:22, janluehe wrote: >> > > > >> > > >> > > Do you want to wrap an inner exception into GadgetException? >> > > Currently there doesn't seem to be anything in setRequestHeaders >> > that can > >> > throw >> > > an exception. If you have a case where some null pointer exception >> > etc is > >> > > returned, then this change makes sense. >> > > Your use case sounds good to me. >> > > But you can also do this: >> static class A { >> protected void hello() { >> throw new NullPointerException("hello"); >> } >> } >> > > static class B extends A { >> public void hello1() throws GadgetException { >> try { >> super.hello(); >> } catch (Exception e) { >> e.printStackTrace(); >> throw new GadgetException(e); >> } >> } >> } >> > > > > http://codereview.appspot.com/1683050/show >
