Я бачив щонайменше одне надійне джерело (клас C ++, який я взяв), рекомендую, щоб специфічні для програми класи винятків у C ++ були успадковані від std::exception
. Мені не зрозуміло переваги такого підходу.
У C # причини успадкування з ApplicationException
них ясні: ви отримуєте кілька корисних методів, властивостей та конструкторів і просто повинні додати або переотримати те, що вам потрібно. З std::exception
цим , здається , що все , що ви отримаєте це what()
метод , щоб перевизначити, який ви могли б точно так же створювати самостійно.
Тож які переваги можна використовувати std::exception
в якості базового класу для мого додаткового класу виключень? Чи є вагомі причини, щоб не успадкувати std::exception
?