Προς το περιεχόμενο

Προτεινόμενες αναρτήσεις

Δημοσ.

Παραθέτω τον κώδικα μου και να μου πείτε που κάνω λάθος...Δεν ενεργοποιούνται τα exceptions

>
ifstream readInFile;

try{
    readInFile.open("example.txt");
if(readInFile.bad())
{
throw "File did not open";
}
 
}
catch(string error)
{
cout<<"ERROR: " << error;
}

Δημοσ.

Παραθέτω τον κώδικα μου και να μου πείτε που κάνω λάθος...Δεν ενεργοποιούνται τα exceptions

>
ifstream readInFile;

try{
    readInFile.open("example.txt");
if(readInFile.bad())
{
throw "File did not open";
}
 
}
catch(string error)
{
cout<<"ERROR: " << error;
}

 

Τα είχαμε πει παλαιότερα εδώ.

 

Επί του προκείμενου τώρα:

 

>
#include <iostream>
#include <fstream>
#include <string>

using namespace std;

int main(void) {

try
{
	ifstream readInFile("TEST");
	if(!readInFile.is_open())
		throw (string)"File did not open";
	readInFile.close();
}
catch(string error)
{
	cout <<error<<endl;
}

return 0;
}

Δημοσ.

γιατι το error δεν ειναι μεσα σε " "

 

>


 try{
     
  ifstream f;
         f.open("file.txt");  

   if( !f.is_open()) 
	   throw (string)"File did not open";
                  f.close();
   
 }
 catch(string error)
       {
               cout <<error<<endl;
       }

// απο δω και κάτω ανοιγω διαφορα αλλα αρχεια txt και επίσης επεξεργάζομαι το αρχειο file

 

κανώ το παραπάνω και δεν γίνεται τπτ...βγάζει error

Δημοσ.

γιατι το error δεν ειναι μεσα σε " "

 

Διότι αν ήταν ανάμεσα σε " " τότε θα εκτύπωνα στην οθόνη την ..ονομασία του, αντί της τιμής του, φυσικά εσύ μπορείς να το δηλώσεις όπως θες (πχ. cout<<"ERROR: " << error;) ...

 

>


 try{
     
  ifstream f;
         f.open("file.txt");  

   if( !f.is_open()) 
	   throw (string)"File did not open";
                  f.close();
   
 }
 catch(string error)
       {
               cout <<error<<endl;
       }

// απο δω και κάτω ανοιγω διαφορα αλλα αρχεια txt και επίσης επεξεργάζομαι το αρχειο file

 

κανώ το παραπάνω και δεν γίνεται τπτ...βγάζει error

 

Όταν λες βγάζει error; Δηλαδή βλέπεις το "File did not open"; Αν ναι, τότε απλά το f δεν άνοιξε το αρχείο (γιατί; ..από λάθος ονομασία ή διαδρομή, ως και λάθος attributes κτλ), αν τώρα με το error εννοείς ότι δεν περνάει από τον μεταφραστή τότε γίνε πιο συγκεκριμένος.

Δημοσ.

για δοκίμασε έτσι

>
#include <iostream>
#include <fstream>
using namespace std;

int main()
{
   ifstream readInFile;
   try
   {
   	readInFile.open("example.txt");
       if(!readInFile)
           throw  "File did not open";
   }
   catch(const char* error)
   {
       cout <<error<<endl;
   }

   return 0;
}

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...