据我了解,在更改某些对象状态之前,我们使用 Guava Preconditions 快速失败(这是来自 stackoverflow 的一个很好的答案)。这很好。但是它会引发运行时异常,这不是应用程序用户最喜欢的异常(500 错误等等......)。所以我需要你在设计方面给我一些帮助。
我有一个声明许多方法的接口。每个方法都有必须控制的参数(例如:非空)。所以在实现类中我使用如下指令:
Preconditions.checkNotNull(fooObj);
但是,调用此 API 的程序可能会由于运行时异常而崩溃,在本例中为 NullPointerException。
那么如何处理这些未经检查的异常呢?
谢谢你。
-------- 编辑应用层:
数据访问层
API 声明交换 DTO 的方法
使用 Guava 实现 API 和检查参数的过程
Webservice 依赖于流程层