我正在研究一个非泛型类,它应该实现一个基于整数键查找对象的方法。任务说:“如果搜索的元素不存在,则抛出异常。”
在这种情况下,哪些例外情况会相关?或者我应该通过扩展Exception来创建自己的'NotFoundException'类?
这些会有什么帮助吗? - NotBoundException - AclNotFoundException
答案 0 :(得分:2)
NoSuchElementException
可能已经足够好了。尽管文档说明由枚举的nextElement方法抛出,以指示枚举中没有更多元素。所以在其他上下文中看到它可能有点令人惊讶。
如果您没有通用"未找到"您的班级路径上的例外情况(例如javax.ws.rs.NotFoundException
或javax.persistence.EntityNotFoundException
),我说最好的选择就是自己动手。
答案 1 :(得分:0)
这取决于方法的调用者是应该处理异常还是应该将其传递给调用者。例如:
uiAction()
appAction()
daoFindByKey(int i)
如果daoFindByKey(int i)
抛出异常,appAction()
应以某种方式处理它,而不是抛出一个已检查的Exception
或一个合适的子类。否则抛出运行时异常或合适的子类。