【发布时间】:2014-01-19 05:46:39
【问题描述】:
我知道必须处理或指定已检查的异常,但未检查的异常是可选的。
如果出于某种原因我可以合理地预期方法中会发生未经检查的异常,我应该将其添加到 throws 规范中吗?还是我应该尽可能缩短规范?
【问题讨论】:
-
我说添加它。源代码是最好的文档。
-
@SotiriosDelimanolis 最好的文档是抛出异常的那一行,而不是它可能这样做的声明性声明。
-
@MarkoTopolnik 我同意,但使用该类的人可能无法访问该源。但是,他们可以访问方法签名。
-
@SotiriosDelimanolis 在这种情况下,他们将无法访问“最佳文档”,对吗? :)
-
但是@MarkoTopolnik,API 中的声明尽可能接近源代码,并且在 IDE 中也可以直接看到。我不会这样反驳它。也许我什至会更进一步地说,最好的地方实际上是声明而不是实现,因为后者可以更容易地更改,而声明(假设)兼容。不确定我是否对您的陈述解释太多:)