В обработке ошибок тоже работает принцип сегрегации (Interface Segregation из SOLID типа).
Выкидывая исключения, хорошо бы их ловить каждое в своем блоке. Без фанатизма, конечно.
У меня, бывает, исключения сегрегированы, даже если внутри нет кода и просто наследуют от основного класса Exception