创建自己的已检查例外

时间:2012-11-06 13:20:29

标签: java

据我所知,当您的应用程序可以从中恢复时,您会使用已检查的异常。但是,我的应用程序中发生的一些错误不适合Sun已经发生的异常。是否可以创建特定于域的检查异常(不良做法?)?例如:DuplicateQuestionException - >当应用程序收到两个相同的问题时抛出。这是我的应用程序可以恢复的情况。

3 个答案:

答案 0 :(得分:2)

是的,这是一种很好的做法。如果在您的域中没有意义,请不要尝试强制使用现有的异常。

答案 1 :(得分:1)

是的,你创建自己的异常更好,而不是使用原始异常。当你要创建自己的异常时,不要忘记异常层次结构。

答案 2 :(得分:1)

是的,当应用程序可以合理地恢复时使用已检查的异常是好的,并且它非常合理并且表明当Java不提供合适的异常时使用自定义检查异常。

来自Josh Bloch的Effective Java第二版的海峡:

从第58项开始,关于抛出已检查的例外:

“决定是使用已选中还是未选中时的基本规则 异常是这样的:对调用者的条件使用已检查的异常 可以合理地预期会恢复。“

关于扩展现有例外的第60项:

“此外,如果您想添加更多故障捕获信息,请随时为现有异常创建子类。”