Ho visto almeno una fonte affidabile (una classe C ++ che ho preso) raccomandare che le classi di eccezioni specifiche dell'applicazione in C ++ dovrebbero ereditare da std::exception. Non sono chiaro i vantaggi di questo approccio.
In C # le ragioni per ereditare da ApplicationExceptionsono chiare: ottieni una manciata di metodi, proprietà e costruttori utili e devi solo aggiungere o sovrascrivere ciò di cui hai bisogno. Con std::exceptionsembra che tutto ciò che ottieni sia un what()metodo per sovrascrivere, che potresti anche creare tu stesso.
Quindi quali sono i vantaggi, se ce ne sono, dell'utilizzo std::exceptioncome classe base per la mia classe di eccezione specifica per l'applicazione? Ci sono buone ragioni per non ereditare std::exception?