我应该为“没有这样的元素”抛出什么异常?

时间:2010-10-02 18:45:31

标签: java exception

我正在实现一个查找列表中元素的方法。该元素应存在于列表中。如果元素不存在,我不想返回null,而是想抛出Exception,但我不熟悉Java中的异常处理,我不知道Exception是什么我应该抛弃这种情况。

我认为这是一个非常普遍的情况,所以我可以使用Java SE标准库中已有的Exception

在这种情况下我应该抛出什么Exception

2 个答案:

答案 0 :(得分:6)

答案 1 :(得分:1)

就个人而言,我认为这不应该例外。有无数的元素不在列表中,因此无法找到元素的事实并不是特例,而是非常正常的。我更喜欢某种OptionMaybe类型作为返回类型。

我不知道为什么JRE还没有提供这种类型(在我看来这是一次大规模的监督),所以,不幸的是,你必须自己动手。但是,您可以在Web上找到大量Maybe类型甚至Maybe monad的Java实现示例。例如,它似乎是教授泛型的一个非常常见的介绍性示例。