004
01.03.2006, 12:36 Uhr
~Hilfesuchender
Gast
|
Hi,
zunächst mal danke für die Antwort...warum ich denke, dieses zu benötigen:
Also ich hab exceptionhandling in meine Anwendung eingebaut...die Oberklasse für die Applicationseigenen Exceptions heißt MyException (der name is eigentlich anders.....) und bietet eine reihe von netten Features, die ich bei den C++-Exceptions so nicht gefunden habe...(insgesamt fand ich die Schnittstelle der C++Exceptions wie fast alles in C++ äußerst dürftig und sehr unintuitiv)...
...die Fehlernachricht der Exception ist in ihr als CString abgelegt (es ist ein MFC-Programm) und kann mit der Methode getErrorMessage() abgefragt werden...
...insbesondere hat meine Exception dei Fähigkeit, dass sie eine nestedException haben kann. Die Klasse MyException bietet dann eine Methode getStackTrace(), die dann den ganzen Stackstapel ausgeben kann....(siehe JAVA..printStackTrace())....
...in getStackTrace() wird also rekursiv durch die exceptions gewandert und immer getErrorMessage() aufgerufen...ich wollte es aber auch so haben, dass die nestedException nicht unbedingt von MyException abgeleitet sein muß, sondern von der C++-Klasse exception.....In getStackTrace muß ich also gucken, ob die nestedException eine Unterklasse von MyException ist (...dann kann ich getErrorMessage() rufen) oder ob es eine von exception abgeleitete Klasse ist (dann muß ich irgendwas anderes machen - ich hab da what() im kopf...keine ahnung....
!!! nichtsdestotrotz funktioniert bei mir dynamic_cast irgendwie nicht...ich kriege immer den NULL-Zeiger zurück....hat da jemand mal n beispiel...? |