栈中的十六个帧来作为您的主要的错误处理机制,这将会是令人恐慌的。
文档化问题进一步强调为什么懒惰是导致选择使用非检查型异常的一个不好的原因,因为对于文档化增加给包的负担,使用非检查型异常应该比使用检查型异常甚至更高(当文档化您所抛出的非检查型异常比检查型异常变得更为重要的时候)。
文档化,文档化,文档化
如果决定使用非检查型异常,您需要彻底地文档化这个选择,包括在 Javadoc 中文档化一个方法可能抛出的所有非检查型异常。Johnson 建议在每个包的基础上选择检查型和非检查型异常。使用非检查型异常时还要记住,即使您并不捕获任何异常,也可能需要使用 tryfinally 块,从而可以执行清除动作例如关闭数据库连接。对于检查型异常,我们有 trycatch 用来提示增加一个 finally 子句。对于非检查型异常,我们则没有这个支撑可以依靠