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

cs_moumen37 Messages postés 2 Date d'inscription mardi 8 juillet 2003 Statut Membre Dernière intervention 10 novembre 2008 - 22 sept. 2004 à 11:10
leprov Messages postés 1160 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 21 octobre 2010 - 22 sept. 2004 à 18:28
Omar MOUMEN

2 réponses

leprov Messages postés 1160 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 21 octobre 2010 17
22 sept. 2004 à 11:20
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);
0
leprov Messages postés 1160 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 21 octobre 2010 17
22 sept. 2004 à 18:28
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
0
Rejoignez-nous