java - 为什么 NoResultException 是系统异常?
问题描述
为什么 EJB 权力决定NoResultException
由 JPA 的getSingleResult()
方法产生的结果应该是系统异常而不是典型的应用程序异常?
该方法本getSingleResult()
可以用于各种各样的情况,但它却变成了一种在 99% 的情况下使用起来很痛苦的方法:我现在必须在任何地方都捕捉到它,而不是让这个异常冒泡要么返回 null 要么抛出我自己的自定义应用程序异常,因为默认情况下不存在等效的应用程序异常。这种设计似乎严重不考虑日常使用,并且还吞噬了一个我本可以使用的非常好的异常名称。
NoResultException
系统异常甚至代表什么场景?资源不存在是系统范围问题的假设似乎与 RESTful 设计对立。
解决方案
推荐阅读
- sql - 如何过滤条件为真至少一次
- python - ModuleNotFoundError 在 Python 中安装 Yellowbrick
- python - 数据框列之间所有可能组合的计数
- r - 错误:X11 上的剪贴板要求配置 DISPLAY envvar
- html - 的目的是什么
- python - 使用没有身份验证方法的 Fabric
- alexa-skill - 启用客户资料权限
- java - 如何在 Java 中读取和存储 API 调用/响应
- arduino - 使用另一个串行将数据从 arduino 发送到处理
- sql - 在 SQL Server 2014 上运行相同的代码,但在 2016、2017 等更高版本上运行时会出错