我正在编写Java中增量phi *的实现,这是一种用于在3D空间中查找任意角度路径的算法。我api中最重要的方法是LinkedHashSet<Point> planPath()
。显然,有些情况下没有可能的路径。一切正常,我能够检测到路径何时不存在,但我不确定我的API应如何将此事件转发给用户。我可以抛出异常,将返回类型更改为Optional<LinkedHashSet<Point>>
,或返回null
。我不确定最好的情况是什么。另外,如果我要抛出异常,它应该是一个经过检查的异常吗?
答案 0 :(得分:0)
嗯,我在创建公共API时的一般规则是支持返回空集合而不是返回null
值。
原因是,集合类具有isEmpty()
函数来检查它是否具有任何值。而且,Optional
类仅存在于java 1.8之后。所以,我不认为使用该课程是个好主意。
因为它不是错误,我不认为抛出异常在这里有意义:)。