我目前正在实现一个系统,在这个系统中,我使用aspectJ来检查是否允许用户调用某个方法。我的方法如下所示:
@Constrained(
mayUsers = {Constrained.Types.ADMIN,
Constrained.Types.SELLER, Constrained.Types.ORGANIZER}
)
public boolean save() {
/* code */
}我可以使用AspectJ来拦截消息呼叫并进行检查,但是如果不允许调用,我想抛出一个异常。如果我只是抛出Exception,方法的用户就不会被告知可能抛出的Exception。
现在我的问题是:
是否可以强制每个具有@Constrained注释的方法抛出一个特定的Exception
发布于 2013-11-12 11:39:10
是否可以强制执行具有@受限注释的每个方法都抛出特定的异常?
,不,,现在不可能这样做。但您可以做的是,在运行时,您可以检查具有此注释的所有方法都必须抛出异常。如果任何一种方法没有声明抛出子句,您可以抛出一些Illegal*Exception来告诉开发人员每个方法都必须声明抛出子句。
你有两个解决方案:
https://stackoverflow.com/questions/19927977
复制相似问题