Sujet : problème d'exception ... qui n'en est pas une ;) |
posté par XwZ 10 messages le 09-10-2007 à 00:58 | | salut,
j'ai un problème d'exception avec la bibliothèque stdexcept, voici mon code :
#include <iostream>
#include <stdexcept>
using namespace std;
void fonction ( const int i ) throw () {
if ( i == 2 ) {
throw Out_Of_Range("Erreur") ;
}
cout << "i est ok" << endl ;
}
int main () {
try {
fonction (2) ;
} catch ( const Out_Of_Range & e ) {
cout << e.what() ;
}
}
|
et voici le message de compilation :
except.C: In function 'void fonction(int)':
except.C:8: error: 'Out_Of_Range' was not declared in this scope
except.C: In function 'int main()':
except.C:16: error: ISO C++ forbids declaration of 'Out_Of_Range' with no type
except.C:16: error: expected `)' before '&' token
except.C:16: error: expected `{' before '&' token
except.C:16: error: 'e' was not declared in this scope
except.C:16: error: expected `;' before ')' token
_______________________
Gentoo c'est la meilleure ;) |
|
posté par XwZ 10 messages le 09-10-2007 à 00:59 | | oups ... merci d'avance pour vos réponses :)
_______________________
Gentoo c'est la meilleure ;) |
|
posté par XwZ 10 messages le 09-10-2007 à 01:10 | | en fait la solution est simple, ce n'est pas Out_Of_Range mais out_of_range tout simplement.
Bonne fin de soirée et/ou bonne nuit ;)
ps : voici le code complet :
#include <iostream>
#include <stdexcept>
using namespace std;
void fonction ( const int i ) throw () {
if ( i == 2 ) {
throw out_of_range("Erreur") ;
}
cout << "i est ok" << endl ;
}
int main () {
try {
fonction (2) ;
} catch ( const out_of_range & e ) {
cout << e.what() ;
}
}
|
_______________________
Gentoo c'est la meilleure ;) |
|
posté par TrueDD 97 messages le 09-10-2007 à 01:28 | | trop fatigué moi en ce moment ... j'ai tranquillement posté la solution sans m'apercevoir que tu l'avais déjà fait ...
_______________________
Retrouvez-nous sur le canal ! #absolinux (serveur irc.librairc.net) |
|