gpt4 book ai didi

exception - RestEasy ExceptionMapper 没有捕获异常

转载 作者:行者123 更新时间:2023-12-01 05:38:17 28 4
gpt4 key购买 nike

我正在抛出异常 MyCustomException从我的应用程序。 (EJB 层)

我在 Web 服务层中有一个异常映射器,如下所示 -

package net.webservices;

import javax.ws.rs.core.Response;
import javax.ws.rs.ext.Provider;
import net.common.MyCustomException;

@Provider
public class EJBExceptionMapper implements
ExceptionMapper<net.common.MyCustomException> {

public Response toResponse(MyCustomException exception) {
return Response.status(Response.Status.BAD_REQUEST).build();
}

}

我已经在 web.xml 中注册了我的映射器Web服务层如下 -
 <context-param>
<param-name>resteasy.providers</param-name>
<param-value>net.webservices.EJBExceptionMapper</param-value>
</context-param>
EJBExceptionMapper没有 catch MyCustomException .但它被 Web 服务实现的 catch 块捕获。

可能是什么问题呢?

注意:我不想使用 getProviderFactory().addExceptionMapper() 手动注册我的 ExceptionMapper

最佳答案

我不知道为什么您的解决方案不起作用(但我从未使用过 RESTeasy,只使用过 Jersey)。无论如何,扩展 WebApplicationException 可能会更简单。 .这样,您不必注册提供程序:

public class MyCustomException extends WebApplicationException {
public MyCustomException() {
super(Response.status(Response.Status.BAD_REQUEST).build());
}
}

关于exception - RestEasy ExceptionMapper 没有捕获异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7417965/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com