当前位置: 首页 > 面试题库 >

获取UndeclaredThrowableException而不是我自己的异常

臧曜瑞
2023-03-14
问题内容

我有以下代码

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



 类似资料:
  • 所以我做了这个代码,它是工作的,但位置只能得到检索,如果我打开谷歌地图之前启动应用程序,我想做的是让应用程序检测我的当前位置,而不是最后已知的位置。我发现有一个名为getCurrentLocation()的方法可以用来检索我的位置,但我不知道在参数中放什么。请帮帮我.这是我的密码 private void getLocation(){

  • 是否可以不仅在WebElement中使用@findby,而且在我自己的类中也使用@findby? 我想有我的类用于与页面元素合作,并在其中重写WebElement接口的一些方法。 但我发现了错误: 您能告诉我重写WebElement方法并使用我的.isdispalyed()方法的正确方法吗?我想继续使用@findby注释。

  • 问题内容: 我正在尝试了解Windows 8上Python 2.7.6的异常。 这是我正在测试的代码,旨在在处创建一个新目录。如果目录已经存在,我想删除整个目录及其内容,然后创建一个新目录。 问题是,永远不会抛出异常。如果该目录尚不存在,则代码可以正常运行,但是如果该目录确实存在,则出现错误: WindowsError:[错误183]该文件已存在时无法创建该文件:“ My_New_Dir” 但是根

  • 代码: GalleryViewModel 画廊简介 注意:请确保它一直工作到昨天,并且一切都是正确的。我刚刚更新了一些依赖项,我被困在无法创建类的实例。。。ViewModel,所以,我搜索了stack overflow,得到了正确的答案,但在我的AS中,当我单击GalleryViewModel时,就会显示这个内置类的用法:GalleryViewModelFactory_Factory,但我想使用自

  • 问题内容: 我的桌子如下 输出表如下 我的查询就像: 我无法编写查询;我将如何获得最小列名而不是最小值?我将如何完成田野? 问题答案: 您可以使用一个表达式来做到这一点:

  • 问题内容: 我想将预览层“流式传输”到我的服务器,但是,我只希望发送特定的帧。基本上,我想拍摄AVCaptureVideoPreviewLayer的快照,将其缩放到28 * 28,将其转换为强度数组,然后将其发送到我的python后端处理其余部分的套接字层。 这里的问题是AVCapturePhotoOutput的捕获功能异常缓慢。我不能重复调用该函数。更不用说它总是使相机的快门声哈哈。 另一个问题