>>680
close() 時に flush() するクラスが一つでもあるなら、
close() 内の flush() が投げる IOException をそのまま投げられる方が良い。
(たった一つだけだと言い切れるなら他にやりようもあるかもしれんが、>>678 の言うような事もあり得る)

その程度すら分からないのに仕様があーだこーだ言うなんてお話にならないって事。