Из эффективного Java "ДОКУМЕНТИРУЙТЕ ВСЕ ИСКЛЮЧЕНИЯ, ВЫБРАННЫЕ КАЖДЫМ МЕТОДОМ"
Следует отметить, что документирование всех непроверенных исключений, которые может генерировать каждый метод, является идеальным, но не всегда достижимым в реальном мире. Когда класс подвергается пересмотру, это не является нарушением совместимости исходного кода или двоичного кода, если экспортируемый метод изменяется для создания дополнительных непроверенных исключений. Предположим, класс вызывает метод из другого, независимо написанного класса. Авторы первого класса могут тщательно документировать все непроверенные исключения, генерируемые каждым методом, но если последний класс будет пересмотрен, чтобы генерировать дополнительные непроверенные исключения, вполне вероятно, что первый класс (который не подвергался пересмотру) будет распространять новые непроверенные исключения, даже если он их не объявляет.
Я не понимаю, как прежний класс может распространять новые непроверенные исключения? Язык Java не обязывает вызывающую сторону перехватывать и распространять непроверенные исключения.