在我的 JAXRS 应用程序中,我有 2 个ExceptionMapper
注册为@Provider
public class MyExceptionMapper implements ExceptionMapper<Exception> {...}
public class MyCustomRuntimeExceptionMapper implements ExceptionMapper<MyCustomRuntimeException> {...}
当我的应用程序抛出一个新MyCustomRuntimeException
的,异常被捕获在里面MyExceptionMapper
,即使(JAX-RS 规范说)它应该被捕获在 MyCustomRuntimeExceptionMapper 中。
这是 JAXRS 所说的 -
JAX-RS 也支持异常继承。当抛出异常时,JAX-RS 将首先尝试找到该异常类型的 ExceptionMapper。如果找不到,它将寻找一个可以处理异常超类的映射器。它将继续这个过程,直到没有更多的超类可以匹配。
有没有人有线索,这里发生了什么?