Créez le projet CException
.
Dans les fichiers CException.h
et CException.cpp
, ajouter dans l’espace de noms nsUtil
la classe CException
, dérivée de la classe standard exception
, possédant deux attributs (données membres) :
myLibelle
: un texte de typestring
contenant un diagnostic d’erreur,myCodErr
: un entier non signé,
et les méthodes suivantes :
- un constructeur à deux paramètres (le libellé de l’exception et le code de l’erreur), avec d’éventuelles valeurs par défaut,
- un destructeur virtuel (vide), nécessaire car la classe mère (
exception
) est elle-même virtuelle, - deux accesseurs permettant de récupérer les valeurs des données membres,
- une récriture de la fonction virtuelle
what()
, héritée de la classe mèreexception
, de profil suivant :virtual const char* what() const noexcept;
qui, au moyen de la méthode
c_str()
de la classestring
, renvoie le libellé de l’exception sous la forme d’uneNTCTS
(dont le type estconst char*
). - la fonction d’affichage (provisoire)
diplay()
, qui affiche à l’écran le contenu de l’exception, par exemple dans le format suivant :Exception : xxxxxxxxxxxxxxxxxxxxxxxxxxxx Code : yyyyy
Dans la fonction testException()
de l’espace de noms anonyme du fichier testCException.cpp
, écrire une boucle terminée par la fin de fichier cin
, constituée :
- de la saisie d’une chaîne de caractères (le libellé de l’exception),
- de la saisie d’un entier (le code d’erreur associé),
- de la construction d’une
CException
, - de son affichage.
Compiler et tester.