nik324 Δημοσ. 6 Απριλίου 2012 Δημοσ. 6 Απριλίου 2012 Παραθέτω τον κώδικα μου και να μου πείτε που κάνω λάθος...Δεν ενεργοποιούνται τα exceptions > ifstream readInFile; try{ readInFile.open("example.txt"); if(readInFile.bad()) { throw "File did not open"; } } catch(string error) { cout<<"ERROR: " << error; }
Directx Δημοσ. 6 Απριλίου 2012 Δημοσ. 6 Απριλίου 2012 Παραθέτω τον κώδικα μου και να μου πείτε που κάνω λάθος...Δεν ενεργοποιούνται τα 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; }
nik324 Δημοσ. 6 Απριλίου 2012 Μέλος Δημοσ. 6 Απριλίου 2012 γιατι το 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
Directx Δημοσ. 6 Απριλίου 2012 Δημοσ. 6 Απριλίου 2012 γιατι το 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 εννοείς ότι δεν περνάει από τον μεταφραστή τότε γίνε πιο συγκεκριμένος.
moukoublen Δημοσ. 6 Απριλίου 2012 Δημοσ. 6 Απριλίου 2012 για δοκίμασε έτσι > #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; }
nplatis Δημοσ. 7 Απριλίου 2012 Δημοσ. 7 Απριλίου 2012 δεν περνάει από τον compiler Ποιος compiler είναι και τι μήνυμα βγάζει;
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα