views:

47

answers:

1

In my RESTEasy application I'm getting a java.lang.reflect.UndeclaredThrowableException, because a checked exception is being thrown from a method that doesn't declare the exception in the throws clause. So I'm writing an UndeclaredThrowableExceptionMapper. The UndeclaredThrowableException wraps the real exception; I call e.getCause() to retrieve it. Can I then throw it or somehow look up the proper ExceptionMapper to handle it?

+2  A: 

You can try adding a @Context javax.ws.rs.ext.Providers field/property to your UndeclaredThrowableExceptionMapper class. Then use Providers.getExceptionMapper(Class) to look up the real exception mapper you want to use.

Bryant Luk
Works perfectly! Thanks!
Mark Lutton