Bonjour,
Je r�alise actuellement un programme qui prend deux matrices et en renvoit le produit.
Je souhaite am�liorer la robustesse et je cherche � d�tecter lorsque des caract�res sont rentr�s lors de la saisie de la matrice.
J'ai pens� jusqu'� pr�sent � typeid mais rien ne se passe lorsque que je rentre un caract�re, une valeur al�atoire est prise et l'exception qui est sens� etre envoy�e n'est pas prise en compte.
Les �l�ments de ma matrice sont stock�s dans un vecteur.
Voila ce que j'ai essay� pour l'instant :
c'est mon op�rateur qui me permet d'acc�der aux �lements de la matrice en terme de lignes et colonnes (les �l�ments sont ensuite assign�s au stream : is >> m(i,j) )
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9 double& Matrix::operator()(int i, int j) const throw(char*) { if (i<0 || j<0) throw "Failed to access matrix element"; if (typeid(v[j+i*nrows]).name() == "char*") throw "Invalid matrix element"; else return v[j+i*nrows];// return the value }
Partager