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