У меня следующая ситуация.
У меня есть Java-класс, который наследуется от другого базового класса и переопределяет метод.
Базовый метод не генерирует исключений и поэтому не имеет объявления throws ....
Теперь мой собственный метод должен иметь возможность генерировать исключение, но у меня есть выбор для
- Проглотить исключение
 - Добавить объявление бросков
 
Оба не удовлетворяют, поскольку первый из них молча игнорирует исключение (нормально, я мог бы выполнить некоторое ведение журнала), а второй сгенерировал ошибки компилятора из-за разных заголовков методов.
public class ChildClass extends BaseClass {
        @Override 
        public void SomeMethod() {
            throw new Exception("Something went wrong");
        }
}