Dois-je hériter de std::exception?

J'ai vu au moins une source fiable (une classe C++, j'ai pris) de recommander à la demande spécifique de classes d'exceptions en C++ devrait hériter de std::exception. Je ne suis pas clair sur les avantages de cette approche.

En C# les raisons pour hériter de ApplicationException sont claires: vous obtenez une poignée de méthodes utiles, les propriétés et les constructeurs et juste à ajouter ou de remplacer ce que vous avez besoin. Avec std::exception il semble que tout ce que vous obtenez est un what() méthode pour remplacer la, qui vous pourriez tout aussi bien créer vous-même.

Quels sont donc les avantages, le cas échéant, de l'aide std::exception comme une classe de base pour mon application spécifique de la classe d'exception? Existe-il des bonnes raisons de ne pas hériter de std::exception?

  • Vous pouvez avoir un coup d'oeil à ceci: stackoverflow.com/questions/1605778/1605852#1605852
  • Même si, comme une note de côté sans rapport avec la question en particulier, des classes C++, vous prenez ne doivent pas impérativement être des sources fiables sur les bonnes pratiques vient de sortir de leur propre droit.
InformationsquelleAutor John M Gant | 2009-11-03