- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
我有以下代码
public Object handlePermission(ProceedingJoinPoint joinPoint, RequirePermission permission) throws AccessException, Throwable {
System.out.println("Permission = " + permission.value());
if (user.hasPermission(permission.value())) {
System.out.println("Permission granted ");
return joinPoint.proceed();
} else {
System.out.println("No Permission");
throw new AccessException("Current user does not have required permission");
}
}
当我使用没有权限的用户时,我得到 java.lang.reflect.UndeclaredThrowableException
而不是 AccessException
。
最佳答案
AccessException
是一个检查异常,但它是从未在其 throws
子句中声明它的方法抛出的(实际上 - 从拦截该方法的方面) .这是 Java 中的异常情况,因此您的异常被 UndeclaredThrowableException
包裹,这是未选中的。
要按原样获取异常,您可以在被切面拦截的方法的 throws
子句中声明它,或者使用另一个未经检查的异常(即 RuntimeException
) 而不是 AccessException
。
关于java - 获取 UndeclaredThrowableException 而不是我自己的异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5490139/
背景 在rpc接口调用场景或者使用动态代理的场景中,偶尔会出现undeclaredthrowableexception,又或者在使用反射的场景中,出现invocationtargetexcepti
我正在为 List 使用装饰器模式.此装饰的一部分需要使用代理。 当我调用 get(index)如果索引超出范围,它会抛出 IndexOutOfBounds异常,然后被代理捕获,并用 Undeclar
我有以下代码 public Object handlePermission(ProceedingJoinPoint joinPoint, RequirePermission permission) t
在运行时此代码有效: // Service class class UserService { ApiClient api User create(User user) throws
基于这篇文章How should I handle "No internet connection" with Retrofit on Android 我做了一个自定义的ErrorHandler pr
在一个 bean 中,我尝试使用此方法列出所有文章 public List listerLesArticles() { javax.persistence.Query req = manage
当我输入错误的 SQL 驱动程序名称或数据库服务器脱机时,我会收到以下异常,基本上是任何 SQLException。 我无法确定 UndeclaredThrowableException 来自何处。
这是我希望通过的单元测试: import static org.junit.Assert.assertEquals; import org.jmock.Expectations; import org
我有一个在 Kotlin 中将字符串转换为日期的 extension 方法。 fun String.convertToDate() : Date { var pattern: String = "
在我的代码中这一行 DataFeed dataFeed = analyticsService.getFeed(query.getUrl(),DataFeed.class); 抛出 java.la
我尝试获取 CloudWatch 指标,但出现以下错误: Exception in thread "main" java.lang.reflect.UndeclaredThrowableExcepti
我在 HIVE 中有以下查询,但它不起作用 SELECT newcust.dt , aspen.Probe , newcust.direction , aspen.VLan , sum(newcust
在我的本地机器上一切正常。但是,一旦我在 Linux 机器 (CentOS) 上获取它,生成报告时就会出现以下错误: java.lang.reflect.UndeclaredThrowableExce
为改造编写了自定义错误处理。当 minifyEnabled false 时,代码可以完美运行。当我启用 proguard 时,出现以下异常 12-17 10:14:07.688 18568-1904
我的插件中有一个功能,可以将一些 list 项目导出到 Excel 文件中。之前,一切工作正常,但从几天前开始,我在尝试打开 Excel 工作簿时遇到 $Proxy10.Open() 错误。我不知道这
我是一名优秀的程序员,十分优秀!