- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
在 Spring-Boot 和 Spring-Data 2.0 之前,我使用 org.springframework.boot.context.config.ResourceNotFoundException
检查实体实例是否在数据库中。我在 Controller 中使用了以下异常处理程序:
@ExceptionHandler(ResourceNotFoundException.class)
public HttpStatus handleNotFoundResource() {
return HttpStatus.NOT_FOUND;
}
现在,因为存储库方法返回一个可选的,我使用 java.util.NoSuchElementException
在 Controller 中完成这项工作:
@ExceptionHandler(NoSuchElementException.class)
public HttpStatus handleNotFoundResource() {
return HttpStatus.NOT_FOUND;
}
这是最佳实践吗?
最佳答案
NoSuchElementException
比您定义为在特定情况下抛出的自定义异常 ResourceNotFoundException
范围更广:数据库中没有实体/资源。
在 Controller 和存储库层之间,除了 Repository.findXXX().get()
。
所以你的想法可能会产生不良的副作用。
为防止任何回归,您应该显式处理 Optional
解包,例如 return Optional.orElseThrown(ResourceNotFoundException::new)
。
如果您想概括它,您可以为您的存储库引入一个基类来执行此处理。
关于java - NoSuchElementException 是 ResourceNotFoundException 的一个很好的替代品吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51988322/
我正在使用 Spring Boot 并尝试创建一个测试。 实际上我的测试类: @RunWith(SpringRunner.class) @SpringBootTest(webEnvironment=W
很难说出这里问的是什么。这个问题是含糊的、模糊的、不完整的、过于宽泛的或修辞性的,无法以目前的形式得到合理的回答。如需帮助澄清此问题以便重新打开它,visit the help center 。 已关
我有以下类(class): public class EmailService { static { Velocity.setProperty("resource.loader
我会自定义抽屉导航。我在另一个线程中使用了在 stackoverflow 上找到的示例。代码是复制粘贴,但是在logcat中运行应用程序时出现异常:“ResourceNotFoundException
我在 Market 上收到了一些关于此异常的报告。没有提到它在我的应用程序中发生的位置,大多数用户没有这个问题。我该如何调试这样的东西?这不是我从所有设备上得到的异常(exception)。只有一个特
我想知道是否有人可以帮助我。我在我的 android 应用程序中收到 ResourceNotFoundException。运行以下代码时发生(异常发生在getString()调用) c
当我尝试在我的 Samsung Note II 上运行我的应用程序时,我收到此行的 ResourceNotFoundException setContentView(R.layout.activity
我有一个Recyclerview。在它的适配器中,这就是我所拥有的: @Override public void onBindViewHolder(@NonNull ViewHolder holde
概要 我通过aws lambda使AWS SAM函数。 此功能需要数据库,因此我选择DynamoDB。 现在,我为AWS SAM和DynamoDB设置本地环境。 看来我成功设置了本地DynamoDB,
我正在尝试基于 scalatra-sbt.g8 的以下内容: class FooWeb extends ScalatraServlet with ScalateSupport { beforeAl
我为 ListView 项创建了一个构造函数DataPembeli,然后创建了自定义 ListView 适配器DataPembeliListAdapter并使用这样的构造函数: txtid.setTe
我这样创建自己的样式属性: 我在我的主题中赋予它这样的值(value): @color/blue 如果我在我的布局中访问它(已设置为 contentView) 它就像一个魅力。但是如果我
当我的 android 应用程序以纵向屏幕启动时,操作栏中有选项菜单;但是当切换到 landspace 时,我发现资源未找到异常。 inflater.inflate(R.menu.main, menu
我已经拥有的: 这是我的 ImageView: 我使用的是 Android 插件版本 2.0: classpath 'com.android.tools.build:gradle:2.0.0' 我在
我最近检查了我的 GP 崩溃日志,我经常收到这个调用堆栈。请你帮助我好吗。 一些事情: 添加资源路径失败有时显示/data/app/com.xxx.xxx.xxx-x/base.apk,有时显示/mn
07-25 10:15:37.960: E/AndroidRuntime(8661): android.content.res.Resources$NotFoundException: String
在基本的 Skobbler 应用程序中,当调用 InitializeSKMaps 时,会抛出 ResourceNotFoundException 并引用“字符串资源 ID #0x0”。为什么会这样?
我有一个自定义 View ,我们将其称为CustomView。在初始化时,我调用了以下方法 textPaint.setTypeface(ResourcesCompat.getFont(getConte
我正在尝试将原始文件夹中的音乐文件设置为在打开 NewActivity 的 ListView 中播放。我已经配置了 Model 类、MainActivity 和 ListviewAdapter,但仍然
我正在开发一个 Android 应用程序,并在其中生成一些 PDF 文件。一旦生成,我就启动一个应用程序的Intent来显示PDF(如Acrobat)。 一旦我按返回键返回到我的应用程序,它就会在采用
我是一名优秀的程序员,十分优秀!