Мне стало ясно, что я никогда не видел ни одной иерархии исключений, для которой создание подклассов, но захват родительского класса было действительно полезным (за исключением, конечно, для базового класса Exception, который должен быть получен).
Иерархии исключений действительно полезны, xor все исключения должны быть получены из класса исключения на основе языка?