Exception
-
Hi,
ich hab hier ein stück code, von dem ich nur ungefähr weiß was passiert. das ganze ist ein konstruktor mit initialisierungsliste, soweit klar. aber die zeile in den blockklammern versteh ich nicht. wofür ist die da? was tut sie? was passiert wenn man sie weglässt?Myclass::Myclass() : string1_("test"), string2_("konstruktor") { std::cin.exceptions(std::istream::failbit | std::istream::badbit); // unklar }
-
Einfach mal nachlesen...
http://www.cplusplus.com/reference/iostream/ios/exceptions/
-
http://www.cplusplus.com/reference/iostream/ios/exceptions/
Die Anweisung setzt das failbit und das badbit von cin. Warum man das tun sollte, ist mir ein Rätsel.
-
ah, danke.
-
SeppJ schrieb:
http://www.cplusplus.com/reference/iostream/ios/exceptions/
Die Anweisung setzt das failbit und das badbit von cin. Warum man das tun sollte, ist mir ein Rätsel.
Nein, die Funktion setzt die Exception-Maske.
Das bewirkt dass bei Fehlern die Das Fail- und/oder Bad-Bit setzen eine Exception geworfen wird, statt dass einfach nur die Bits gesetzt werden.
Und das macht durchaus Sinn.