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