Bonjour à tous !
Après une petite recherche sur le site et sur le Web, je n'ai malheureusement pas trouvé mon bonheur.
Je vous montre le code, et je vous explique ce que je souhaite que ça fasse.
En fait, ce code est censé faire une division (qui renvoie un entier, mais là n'est pas le problème :p) et si le dénominateur vaut 0, alors il faut afficher l'erreur spécifiée, c'est-à-dire "Erreur : division par zero".
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 #include <iostream> using namespace std; int diviser(const int nb1, const int nb2) throw (string); int main() { cout << diviser(2, 0) << endl; return 0; } int diviser(const int nb1, const int nb2) throw (string) { if (nb2 == 0) throw (string("Erreur")); return (nb1 / nb2); }
Mais quand j'appelle cette fonction dans mon main, le message qui apparaît est :
"This application has requested the Runtime to terminate it in an unusual way. Please contact the application's support team for more information."
avec le code d'erreur 3. En plus, j'ai même droit à la fenêtre Windows qui me dit que mon programme a cessé de fonctionner !
Bref, si vous pouviez m'éclairer à ce sujet, je vous en serai reconnaissant
Merci d'avance.
PS : je suis ouvert à toute solution, mais de préférence essayez de garder le "throw" dans l'entête de la fonction.
PS2 : Mon EDI est Code Blocks si ça peut aider.
Partager