Ho appena creato la gerarchia delle eccezioni e volevo passare char*
al costruttore di una delle mie classi derivate con un messaggio che diceva cosa non va, ma apparentemente std::exception
non ha il costruttore che consentirebbe io per farlo. Eppure c'è un membro della classe chiamato what()
che suggerirebbe che alcune informazioni possano essere passate.
Come posso (posso?) Passare il testo alla classe derivata di un std::exception
per passare informazioni con la mia classe di eccezione, quindi posso dire che da qualche parte nel codice:Modo corretto per ereditare da std :: exception
throw My_Exception("Something bad happened.");
So che questo non risponde alla tua domanda, ma potresti voler leggere [questo] (http://www.codeproject.com/KB/cpp/cppexceptionsproetcontra.aspx) prima di iniziare ad usare le eccezioni. Ci sono anche molte domande qui sullo stack overflow sulle eccezioni che sono buone o cattive (la risposta è per lo più cattiva). – Shahbaz