当您声明该方法
throws为异常时,您就是在对调用者说:
您有两种选择:
- 重新声明自己为引发相同异常。
- 捕获并处理异常。
在情况1中,它可能会提醒用户实施
finally-可能是一个奖励。
在情况2中,它将注意力集中在例外上,这也可能是一个好处。
如果您隐藏了这种可能性,则用户不会发生以上任何提醒。
对我来说,一个可能不必要地弄乱了他们的代码,而另一个却使代码变得甜美而简单。但是,一种鼓励您将注意力集中在潜在问题上,而另一种则可能使您陷入幸福的无知之中。
底线-问问自己,如何刺激这将是声明异常抛出为(例如你应该申报
throws NullPointerException-
?NO!),并为这种刺激通过上行聚焦用户介意的平衡
catch,
finally和
throws。



