Exceptions
-
-
hehejo, kommst du von Java?
Also das würd ich auf keinen Fall in C++ machen:
throw new DivNullException("NullTeiler!");
-
javafucker schrieb:
hehejo, kommst du von Java?
Also das würd ich auf keinen Fall in C++ machen:
throw new DivNullException("NullTeiler!");
Nein, ich komme nicht von Java, aber die Exception hab ich in Java kennengelernt!
Warum würdest du das nicht so machen? G-)
-
wo rufst du denn das delete auf für das new???
-
Außerdem catched man Exception per Referenz.
-
oh!
danke.. etz wird's klar!Der Link oben hat auch gut geholfen!
danke!
-
javer schrieb:
wo rufst du denn das delete auf für das new???
die exception wird sowieso nicht gefangen, der typ, den new T liefert ist schliesslich T*
-
Ich hab meinen Code von vorhin etwas abgeändert.
Das "new" ist weg und ich fange die Ausnahme mit "&" auf.Ist das dann so richtig? Würde das so funktionieren? (Wenn nein - warum?)
2 Fragen:
- muss jede exception-Klasse von std::exception abgeleitet sein?
- wie ist die Signatur von std::exception::what()?
-
hehejo schrieb:
muss jede exception-Klasse von std::exception abgeleitet sein?
Nein aber meiner Meingung nach hat es nur Vorteile jede Exception von std::exception erben zu lassen.
hehejo schrieb:
wie ist die Signatur von std::exception::what()?
const char*what()const throw();
-
Irgendwer schrieb:
hehejo schrieb:
muss jede exception-Klasse von std::exception abgeleitet sein?
Nein aber meiner Meingung nach hat es nur Vorteile jede Exception von std::exception erben zu lassen.
Stimmt. Hat ja keine Nachteile.
Eigentlich nur Vorteile.
Die Exception wird auch mit catch (std::exception& e) gefangen!Irgendwer schrieb:
hehejo schrieb:
wie ist die Signatur von std::exception::what()?
const char*what()const throw();
Vielen Dank! Was wirft denn diese Funktion?
-
Nichts.