gpt4 book ai didi

java - 从注释中抛出异常

转载 作者:行者123 更新时间:2023-12-01 17:53:37 25 4
gpt4 key购买 nike

我在方法 M 上有一个注释,我在其中进行一些检查,如果检查不成功,我不想执行底层方法 M。我希望调用者知道调用没有成功并附上原因。

为了实现这一点,如果检查失败,我将抛出注释异常。所以我有几个问题:

  1. 我无法捕获特定的异常,因为 IDE 告诉我该异常没有从方法中抛出?为了快速破解,我捕获Exception,然后使用instance of运算符获取特定的异常。

    还有其他更好的方法来实现这一目标吗?

  2. 我有办法不需要抛出异常吗?

注释方面代码如下所示:

@Before(value = "@annotation(abc)", argNames = "pjp, abc")
public Object around(ProceedingJoinPoint pjp, ABC abc) throws Throwable {
if(notAllow()){
throw new CustomException("Not allowed");
} else {
pjp.proceed()
}

}
}

处理程序代码如下所示:

catch(Exception e){
if(e instanceof CustomException){
// do something
}
}

最佳答案

IDE 只能验证已检查异常。使异常扩展RuntimeException

您可以随时捕获,因为 IDE 无法验证是否有任何代码抛出它,因为方法不需要声明是否抛出它。

关于java - 从注释中抛出异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47377685/

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