効果的なJavaから「各メソッドによってスローされたすべての例外を文書化する」
各メソッドがスローする可能性のある未チェックの例外をすべて文書化することは理想的であり、現実の世界では常に達成できるとは限らないことに注意してください。クラスがリビジョンを受けるとき、エクスポートされたメソッドが変更されて追加の未チェックの例外がスローされても、ソースまたはバイナリの互換性に違反することはありません。クラスが、独立して作成された別のクラスからメソッドを呼び出すとします。前者のクラスの作成者は、各メソッドがスローするすべての非チェック例外を慎重に文書化するかもしれませんが、後者のクラスが修正されて追加の非チェック例外がスローされる場合、前者のクラス (修正されていない) が伝播する可能性が非常に高くなります。宣言されていなくても、新しい未チェックの例外。
以前のクラスが新しいチェックされていない例外をどのように伝播できるかを理解できませんか? Java 言語では、呼び出し元が未チェックの例外をキャッチして伝播することを義務付けていません。