首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为使用注释的方法强制抛出语句

为使用注释的方法强制抛出语句
EN

Stack Overflow用户
提问于 2013-11-12 11:30:30
回答 1查看 598关注 0票数 1

我目前正在实现一个系统,在这个系统中,我使用aspectJ来检查是否允许用户调用某个方法。我的方法如下所示:

代码语言:javascript
复制
@Constrained(
    mayUsers = {Constrained.Types.ADMIN, 
    Constrained.Types.SELLER, Constrained.Types.ORGANIZER}
)
public boolean save() {
    /* code */
}

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

现在我的问题是:

是否可以强制每个具有@Constrained注释的方法抛出一个特定的Exception

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-11-12 11:39:10

是否可以强制执行具有@受限注释的每个方法都抛出特定的异常?

,不,,现在不可能这样做。但您可以做的是,在运行时,您可以检查具有此注释的所有方法都必须抛出异常。如果任何一种方法没有声明抛出子句,您可以抛出一些Illegal*Exception来告诉开发人员每个方法都必须声明抛出子句。

你有两个解决方案:

  • 使用注释处理工具进行编译时注释检查
  • 运行时检查(预条件)
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19927977

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档