我有一个例外,说XyzException
扩展了Exception
。而且我为他们两个都有一个异常映射器:
@Provider
public class UncaughtExceptionMapper implements ExceptionMapper<Exception> {
@Override
public Response toResponse(Exception exception) {
return Response.status(Response.Status.INTERNAL_SERVER_ERROR)
.entity(ApiResponse.failure(new Error(ErrorType.UNCAUGHT_ERROR.getErrorCode(), ErrorType.UNCAUGHT_ERROR.getErrorMessage())))
.build();
}
}
也存在XyzException
的类似异常映射器。但是,当我的代码的一部分抛出XyzException
时,它就映射到UncaughtExceptionMapper。
所以我很困惑为什么会是这种情况?异常层次结构真的有效吗?还是我做错了什么?