抛出异常而不是返回值

时间:2018-03-20 10:59:43

标签: java

我遇到了一个代码,我需要返回一个boolean来检查案例,我会举例说明:

让我说我有一个CarChecker班级public boolean checkCompability(Car car),但我想说明汽车不兼容的原因。

首先介绍的解决方案是创建

public class CompabilityResult {
    private boolean isCompatible;
    private String reason;
}

然后将函数重新格式化为:

public CompabilityResult checkCompabilty(Car car)

第二个解决方案是将函数重新格式化为:

public void checkCompability(Car car) throws IncompatibleException

如果汽车不兼容,我们会使用异常消息。

我知道没有更好的"解决方案在这里,因为两者都得到了相同的结果。

我真的想知道从我自己的代码中抛出异常时最好的用例和最佳做法,因为上面的函数在返回值时对我来说似乎更直接。

谢谢!

0 个答案:

没有答案