Was ist die beste Technik zum Beenden von einem Konstruktor auf eine Fehlerbedingung in C++? Dies ist insbesondere ein Fehler beim Öffnen einer Datei.Was ist die beste Technik zum Beenden eines Konstruktors auf eine Fehlerbedingung in C++
Danke für die Antworten. Ich werfe eine Ausnahme. Hier ist der Code (weiß nicht, ob es die beste Art und Weise, es zu tun, aber es ist einfach)
// Test to see if file is now open; die otherwise
if (!file.is_open()) {
cerr << "Failed to open file: " << m_filename << endl;
throw ("Failed to open file");
}
One Ich denke über C wie ++ ist, Sie müssen nicht geworfen Ausnahmen auf die Methode Erklärungen erklären .
Ich würde empfehlen, eine std :: runtime_error, oder mindestens eine std :: Ausnahme anstelle einer const char * zu werfen. – GManNickG
mögliche Duplikate von [Wie Fehler in Konstruktor in C++ behandelt werden?] (Http://stackoverflow.com/questions/4989807/how-to-handle-failure-in-constructor-in-c) –