Вопрос в том, как правильно их отлавливать при использовании класса? Перехватывать базовое исключение, или лесенкой ловить каждое конкретное?
Весь смысл использования специальных типов исключений в том, чтобы для каждой нештатной ситуации можно было реализовать свою логику обработки.