我有一套球衣异常映射器,今天我意识到了这一点 google cache将我的异常包装到UncheckedExecutionException中。 包装的异常绕过我的异常映射器。
有一个想法是为UncheckedExecutionException定义另一个异常映射器并注入我的所有异常映射器,但是如何避免调度机制中的代码重复。新的异常映射器应该只消除引起的异常。
答案 0 :(得分:0)
我的预期解决方案很接近。 唯一的技巧就是避免HK2中的循环引用。
@Inject
private Provider<ExceptionMappers> mappersProvider;
register(UncheckedExecutionExceptionMapper.class);
@Override
public Response toResponse(UncheckedExecutionException exception) {
log.error("Error {}", exception.getMessage(), exception);
return mappersProvider.get().findMapping(exception.getCause()).toResponse(exception.getCause());
}