gpt4 book ai didi

java - 在 EJB3 中处理拦截器异常的正确方法是什么?

转载 作者:太空宇宙 更新时间:2023-11-04 08:46:13 25 4
gpt4 key购买 nike

我想对我的 bean 使用拦截器,它将检查给定连接 token 的有效性。

如果连接无效,我想抛出一个特定的异常,如果连接过期,我想发送另一个异常(TokenExpiredException,类似这样)。这些异常包含在提供给客户端的接口(interface)中。

@AroundInvoke
public Object checkParams(InvocationContext ctx) throws TokenExpiredException, Exception{
//code to check token
//...
throw new TokenExpiredException();
}

根据我的尝试,在拦截器中抛出此类特定异常会导致客户端出现UndeclaredThrowableException。虽然此异常包含对原因的引用,但它并不是真正理想,并且无法使用常规 catch 子句进行处理。

使用拦截器声明不同异常类型的正确方法是什么?

最佳答案

我认为没有正确的方法可以做到这一点。方法应该只抛出它们声明的异常,并且拦截器不应该添加新的异常。

我的个人案例通过向所有方法抛出的默认异常添加错误代码来解决。

关于java - 在 EJB3 中处理拦截器异常的正确方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4284031/

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