Thread View: de.comp.lang.c++
3 messages
3 total messages
Started by Thomas Aichberger
Thu, 14 Sep 1995 15:04
C++ Exception-Handling
Author: Thomas Aichberger
Date: Thu, 14 Sep 1995 15:04
Date: Thu, 14 Sep 1995 15:04
21 lines
1138 bytes
1138 bytes
Hi, ich moechte fuer ein groesseres Projekt das C++ Exception-Handling einsetzen. Die Anwendung muss auf HP- und SNI-Workstations laufen - leider unterstuetzt der Sinix-Compiler das Exception- Handling nicht. Ich moechte daher das Exception-Handling mit Macros (zumindestens teilweise) nachbauen. Hat jemand von euch sowas schon mal gemacht oder Erfahrungen damit? Gibt es vieleicht sogar Klassenbibliotheken, die sowas anbieten? In einer ersten Ausbaustufe wuerde das Protokollieren der Aufrufhierarchie und Ausgeben von Fehlermeldungen reichen. Beim 'echten' Exception-Handling werden zudem ja alle Destruktoren durchlaufen - kann man sowas ueberhaupt nachbauen? Vielen Dank, Thomas
Re: C++ Exception-Handling
Author: Martin Cracauer
Date: Fri, 15 Sep 1995 08:11
Date: Fri, 15 Sep 1995 08:11
36 lines
1660 bytes
1660 bytes
Thomas Aichberger <Thomas.Aichberger@sdm.de> writes: >Hi, >ich moechte fuer ein groesseres Projekt das C++ Exception-Handling >einsetzen. Die Anwendung muss auf HP- und SNI-Workstations >laufen - leider unterstuetzt der Sinix-Compiler das Exception- >Handling nicht. >Ich moechte daher das Exception-Handling mit Macros (zumindestens >teilweise) nachbauen. >Hat jemand von euch sowas schon mal gemacht oder Erfahrungen >damit? Gibt es vieleicht sogar Klassenbibliotheken, die sowas >anbieten? libobjects, die ObjC-Klassenbiliothek von GNU, implementiert ein Macro-basiertes Exception Handling. Zu kriegen auf alpha.gnu.mit.edu in /pub/gnu/. >In einer ersten Ausbaustufe wuerde das Protokollieren der >Aufrufhierarchie und Ausgeben von Fehlermeldungen reichen. Dazu brauchst Du schon den gdb. >Beim 'echten' Exception-Handling werden zudem ja alle Destruktoren >durchlaufen - kann man sowas ueberhaupt nachbauen? Nicht portable. Um das zu machen, musst Du den Stack hochwandern und das geht nur, indem man direkt mit dem Prozessor quatscht. -- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Martin Cracauer <cracauer@wavehh.hanse.de>. No NeXTMail, please. Norderstedt/Hamburg, Germany. Fax +49 40 522 85 36. This is a private address. At (netless) work programming in data analysis.
Re: C++ Exception-Handling
Author: Joerg Koenig
Date: Mon, 18 Sep 1995 07:43
Date: Mon, 18 Sep 1995 07:43
35 lines
1817 bytes
1817 bytes
In article <1995Sep15.081128.17240@wavehh.hanse.de>, cracauer@wavehh.hanse.de (Martin Cracauer) says: > >Thomas Aichberger <Thomas.Aichberger@sdm.de> writes: > >>Hi, > >>ich moechte fuer ein groesseres Projekt das C++ Exception-Handling >>einsetzen. Die Anwendung muss auf HP- und SNI-Workstations >>laufen - leider unterstuetzt der Sinix-Compiler das Exception- >>Handling nicht. >>Beim 'echten' Exception-Handling werden zudem ja alle Destruktoren >>durchlaufen - kann man sowas ueberhaupt nachbauen? > >Nicht portable. > >Um das zu machen, musst Du den Stack hochwandern und das geht nur, >indem man direkt mit dem Prozessor quatscht. Das geht schon portabel zu machen. Ein Beispiel dazu ist der Artikel "Emulating C++ exception handling" von Gregory Colvin im "C/C++ Users Journal" vom Dezember '94 (Diesen Hinweis hab' ich schon oefter gebraucht, deshalb kenn' ich ihn mittlerweile auswendig). Allerdings wird hier nicht der Stack hochgewandert, sondern eine Liste abgearbeitet, in der alle Objecte verzeichnet sind, die bis zu dem entsprechenden "catch" abgebaut werden muessen. Natuerlich hat dieser Emulator einige Einschraenkungen - aber besser als gar nix ist es allemal. Die Sourcen des Emulators sind komplett im Artikel abgedruckt und aeusserst kompakt, so dass das Programm, welches diese Emu benutzt, nur geringfuegig groesser wird. Tschuess Joerg
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads