Comment tirer une exception si on peut pas ouvrir un fichier tout en sachant qu'

Signaler
Messages postés
2
Date d'inscription
mardi 8 juillet 2003
Statut
Membre
Dernière intervention
10 novembre 2008
-
Messages postés
1160
Date d'inscription
vendredi 23 juillet 2004
Statut
Membre
Dernière intervention
21 octobre 2010
-
Omar MOUMEN

2 réponses

Messages postés
1160
Date d'inscription
vendredi 23 juillet 2004
Statut
Membre
Dernière intervention
21 octobre 2010
18
tu peux ouvrir le fichier avec la stl:
#include <fstream>

//si lecteur ifstream si ecriture ofstream
ifstream is;
is.open (LeNomDeTonFicEnNTCTS);

if (is.fail()) throw (MonExc);
Messages postés
1160
Date d'inscription
vendredi 23 juillet 2004
Statut
Membre
Dernière intervention
21 octobre 2010
18
stp repond sur le post plutot que des pv, a moins que tu aies des choses hors sujet a dire. c'est pas grave, mais c'est plus chiant pr repondre, et si je reponds ici ca peut peut-etre aider d'autres personnes. bon dc un exemple pour lever l'exeption comme il faut.

//a la fin de ton prototype, tu mets le type de l'exception levée
//pour préciser que ta fonction ne peut lever que des exceptions
//de ce type, si tu ne dis rien, ta fonction est susceptible de lever
//tout type d'exception
void OpenFic (ifstream is, const string & NomFic) throw (TypeDeLException)
{
//si ouverture en lecture
is.open (NomFic.c_str(), ios_base::in);
//si l'ouverture a échouée
if (is.fail()) throw (/*ton exception*/);

}

int main (int argc, char * argv[])
{
ifstream is;
string Str;
getline (cin, Str);
try{OpenFic (is, Str);}
catch (TypeDeLException & Exc)
{/* traitement en cas d'echec */}
catch (...)
{/* traitement pour les autres exceptions levées que celles prévues dans les autres catchs*/}

return 0;
}

si cest encore flou, repost, je repondrais plus concretement