Kurze Frage zu Exceptions
-
(Was antwortet ihr auch alle, während ich noch so fleißig tippe...zu langsam
)
-
klappt aber nur bei exceptions die von std::exception erben ?!
-
Das sollten eigene Exceptions imho immer, und die Exceptions von älteren Bibliotheken kann man ja notfalls auch catchen.
Aber naja, ich hab das Gefühl, mein Code hatte mit dem Thema eh nicht soviel zu tun.
-
Ja, das Problem ist, ich möchte die Exception nicht auffangen, ich will ganz normal debuggen.
Mich stört nur einfach die Meldung, die man da kriegt. Ich dachte man kann das mit dem beeinflussen, was man wirft.Ich formuliere meine Frage mal anders:
Was sollte man werfen? In Java wirft man ein Objekt einer Klasse, die z.B. NullPointerException heißt. Wenn man diese jetzt nicht catcht, kriegt man natürlich ne Fehlermeldung und es wird der Exceptiontyp (also NullPointerException) genannt.
Ich hab jetzt in C++ z.B. ausprobiert, ne Zeichenkette und andere Sachen zu werfen, aber ich krieg dann als Fehlertyp nen char zurück. Das ist nicht ganz das, was ich wollte
-
Irgendwie verstehe ich das nicht, wieso machst du nicht einmal in der main() ein try-catch was die Exception-Meldung ausgibt?
-
Weil ich noch debuggen will.
-
Könntest du keinen breakpoint dahin machen?
-
'denke im mfc forum wär die frage vllt besser aufgehoben ?!
-
Denke ich nicht.
Das Problem hat sich erledigt, ich kann es eigentlich ganz ähnlich wie in Java machen, indem ich mir einfach ein paar Exceptionsklassen definiere und dann davon Objekte werfe. VC++ ist tatsächlich so klug mir dann auch hinzuschreiben, welcher Exceptiontyp geworfen wurde.Danke an euch
-
poste doch mal ein beispiel.
-
was hast du denn vorher geworfen, wenn keine exception-klasse?
-
... schrieb:
poste doch mal ein beispiel.
Unhandled exception at 0x77e73887 in StoneAge.exe: Microsoft C++ exception: IllegalArgumentException @ 0x0012fcc3.
DrGreenthumb schrieb:
was hast du denn vorher geworfen, wenn keine exception-klasse?
Zeichenketten, ints und dann bin ich auf so ein komisches enum Error gestoßen und hab gemeint, dass ist die ultimative Lösung.
Bin in der Beziehung halt noch n00b
Exceptions hatten wir erst heute in der Vorlesung und die ist ja nicht mal über C++.