据我所知,当您遇到应用程序可以从中恢复的错误时,您会使用已检查的异常。但是,我的应用程序中出现的一些错误不符合 Sun 已经提出的异常。是否可以创建特定于域的检查异常(不好的做法?)?例如: DuplicateQuestionException --> 当应用程序收到两个相同的问题时抛出。这是我的应用程序可以恢复的情况。
问问题
189 次
3 回答
2
是的,这是一个很好的做法。如果它在您的域中没有意义,请不要尝试强制使用现有异常。
于 2012-11-06T13:25:02.913 回答
1
是的,最好创建自己的异常,而不是使用原始异常。当您将创建自己的异常时,不要忘记异常层次结构。
于 2012-11-06T13:42:00.703 回答
1
是的,当应用程序可以合理地恢复时使用检查异常是很好的,并且当 Java 不提供合适的异常时使用自定义检查异常是完全合理的。
来自 Josh Bloch 的 Effective Java 第二版的 Strait:
来自第 58 条关于抛出已检查异常的内容:
“决定是使用已检查异常还是未检查异常的基本规则是:在可以合理预期调用者从中恢复的情况下使用已检查异常。”
来自关于扩展现有例外的第 60 项:
“此外,如果您想添加更多故障捕获信息,请随意对现有异常进行子类化。”
于 2012-11-06T14:26:28.577 回答