“太多结果”的常规Java例外是什么

时间:2016-05-23 21:00:37

标签: java exception

我正在编写一个通用API,它接受参数并返回结果。我希望如果数据一致,则只返回一个ID的结果。如果我得到1个结果,我会退回。如果我得到0结果,我可以抛出“MissingResourceException”或“NoSuchElementException”等。但是,如果我得到多个结果,我该扔什么?我查看了显而易见的地方(Oracle / Java API文档,Google搜索,当然还有StackOverflow),但没找到。

请注意,我可能无法控制数据,因此“数据应该是好的/警察你的数据”建议虽然有效,但对我没有帮助。

感谢任何帮助。

1 个答案:

答案 0 :(得分:4)

Joshua Bloch的 Effective Java 在第60项(赞成使用标准例外)中说:

  

此外,如果您想添加更多故障捕获信息(第63项),请随意对现有异常进行子类化。

所以,我投票给IllegalStateExceptionYourOwnException中的一个(附加了与失败相关的信息)。