Я видел как минимум один надежный источник (класс С++, который я взял), рекомендую, чтобы классы исключений для конкретных приложений в С++ наследовались от std::exception
. Я не понимаю преимуществ такого подхода.
В С# причины наследования из ApplicationException
понятны: вы получаете несколько полезных методов, свойств и конструкторов и просто должны добавлять или переопределять то, что вам нужно. С std::exception
кажется, что все, что вы получаете, это метод what()
для переопределения, который вы могли бы просто создать самостоятельно.
Каковы преимущества, если таковые имеются, использования std::exception
в качестве базового класса для моего класса исключений для конкретных приложений? Есть ли веские причины не наследовать от std::exception
?