仅使用运行时异常的 Java 数据对象规范?

标签 java jdo datanucleus runtimeexception jsr

我们正在评估 JDO 在我们的应用程序中用作数据管理层。要求是具有与任何数据存储零依赖的良好抽象数据管理。

我们发现 JDO 非常有前途,并且正在了解 Data nucleus 的实现。

我们考虑的一件突出的事情是 JDO 主要遵循运行时异常策略。

http://docs.tpu.ru/docs/oracle/en/fmw/11.1.1.6.0/apirefs.1111/e13946/jdo_overview_arch.html

所有 JDO 异常的父异常是 javax.jdo.JDOException 并且正在扩展运行时异常。

我们知道调用 API 时引发的异常显然是运行时的。但是,如果我们有一个已检查的异常,它是否易于管理?

请对此发表评论。有人可以帮助理解通过 API 使用运行时异常的理念吗?

最佳答案

了解使api抛出运行时异常的用法。 请点击此链接。很好 http://onjava.com/onjava/2003/11/19/exceptions.html

上面链接中的一句话是

永远不要让特定于实现的检查异常升级到更高层。例如,不要将 SQLException 从数据访问代码传播到业务对象层。业务对象层不需要知道 SQLException。您有两个选择:

如果客户端代码希望从异常中恢复过来,则将 SQLException 转换为另一个已检查的异常。

如果客户端代码对此无能为力,则将 SQLException 转换为未经检查的异常。

大多数时候,客户端代码无法对 SQLExceptions 做任何事情。不要犹豫,将它们转换为未经检查的异常。

我认为这清楚地解释了运行时异常的好处

关于仅使用运行时异常的 Java 数据对象规范?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13701391/

相关文章:

java - 验证jtable是否为空?

java - App Engine 上的 getObjectById

java - java google app engine中的多对多关系

java - 如何在多个参数上动态构建 JDO 查询

google-app-engine - 本地数据库的 Appengine jdoconfig.xml

java - 阻止工具提示在 JFreeChart 中消失的最佳方法

java - 如何在 Google 电子表格中获取单个工作表的工作表名称 - Google Sheet Api v4 - Java

java - 如何持久化具有现有持久化对象的 transient 实体?

java - GAE,升级datanucleus jar包后出现一些异常

java - @Unique 在带有 NeoDatis 的 DataNucleus 中没有任何效果