Здравствуйте, Pek2014, Вы писали:
P>Всё вроде работает как надо. Использовать удобно. Писанины меньше, но чувствую, что изобрёл велосипед... P>Почему нет такого стандартного шаблонного класса?
Потому что в большинстве проектов нет необходимости использовать разнотипные исключения, достаточно одного BusinessException, который можно бросать только если состояние софта гарантированно не повреждено.
В остальных случаях исключение не должно перехватываться => нет особой разницы, какой тип исключения бросать. Главное, чтобы было достаточно информации для воспроизведения ошибки.
Единственное исключение: библиотеки-фреймворки, для них стандартная практика — оборачивать исключения в свой тип и пробрасывать дальше по стеку. Другой вопрос, что тут нет никакого смысла в базовом генерик-классе, всё равно наследников делать.