gpt4 book ai didi

java - 使用注释对方法强制执行 throw 语句

转载 作者:行者123 更新时间:2023-11-30 04:09:45 25 4
gpt4 key购买 nike

我目前正在实现一个系统,在该系统中我使用aspectJ来检查是否允许用户调用方法。我的方法看起来像这样:

@Constrained(
mayUsers = {Constrained.Types.ADMIN,
Constrained.Types.SELLER, Constrained.Types.ORGANIZER}
)
public boolean save() {
/* code */
}

我可以使用 AspectJ 拦截消息调用并进行检查,但如果不允许调用,我想抛出异常。如果我只是抛出Exception,则该方法的用户不会被告知可能抛出的Exception

现在我的问题是:

是否可以强制所有具有 @Constrained 注释的方法抛出特定的异常

最佳答案

Is it possible to enforce that the every method that has the @Constrained Annotation throws a specific Exception?

目前无法执行此操作。但你可以做的是,在运行时你可以检查所有具有此注释的方法都必须抛出异常。如果任何方法没有声明 throws 子句,您可以抛出一些 Illegal*Exception 来告诉开发人员每个方法都必须声明 throws 子句。

您有两种解决方案:

关于java - 使用注释对方法强制执行 throw 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19927977/

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