番石榴 - 为什么IncomparableValueException不公开?

时间:2014-12-10 13:05:55

标签: java guava

我正在使用Guava的Ordering,以便根据与实体对应的id列表的顺序对实体列表进行排序。在某些情况下,两个列表之间存在不匹配(id来自Web GUI,而来自数据库的实体),因为多个用户可以操纵相同的enitity。

在这些情况下,Ordering会引发IncomparableValueException。我想捕获此异常,以便向用户显示信息性错误消息。但是,我无法,因为例外是包本地的,而不是公共的。这导致异常处理代码比它应该更乱(我必须捕获ClassCastException而不是..)

为什么这个例外并不是公开的?由于它被抛出Guava框架,我希望能够抓住它。

也可以在我的原始版本(13.0.2)中添加一个例外,javadoc +一个TODO说"在最新版本(18.0)中公开和文档",javadoc和TODO消失了,异常仍然是包本地的。

1 个答案:

答案 0 :(得分:5)

一个原因很简单,我从未接触过它。你能提出这个问题吗?谢谢!