Vergleich von Delphi und Visual C++ - Inhalt
Vergleich von Delphi und Visual C++ - Inhalt
Vergleich von Delphi und Visual C++ - Inhalt
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
<strong>Vergleich</strong> <strong>von</strong> <strong>Delphi</strong> <strong>und</strong> <strong>Visual</strong> <strong>C++</strong> - Kapitel 2B<br />
Ausgabe:<br />
Variable i = 5<br />
Variable k = 11<br />
Variable l = 11<br />
Variable j = 16<br />
Anders als man erwarten könnte ist Variable l nun nicht 17 sondern 11.<br />
Anmerkungen zu Ausnahmebehandlungen (Exceptions):<br />
Exceptions sind ein Hilfsmittel zur Behandlung <strong>von</strong> Ausnahmesituationen in Programmen, insbesondere zur Fehlerbehandlung. Wenn eine Exception<br />
ausgelöst wird, verzweigt das Programm sofort zu einem Exception-Handler, der auf den Fehler reagieren kann. Durch die Benutzung <strong>von</strong> Exceptions<br />
wird der normale Kontrollfluß des Programms vom Kontrollfluß für Fehlerfälle getrennt, wodurch das Programm besser strukturiert wird <strong>und</strong> leichter<br />
zu warten ist. Der Einsatz <strong>von</strong> Exceptions garantiert, daß Fehler im ganzen Programm in einer konsistenten Weise behandelt <strong>und</strong> angezeigt werden.<br />
Belegte Systemressourcen können mit Sicherheit frei gegeben werden <strong>und</strong> Laufzeitfehler müssen ein Programm nun nicht mehr zwangsweise beenden.<br />
Die Exceptions in <strong>Visual</strong> <strong>C++</strong> <strong>und</strong> Object Pascal haben viele Gemeinsamkeiten; insbesondere sind sie in beiden Sprachen Typ-basierend. Beim<br />
Erzeugen einer Exception wird der Typ der Exception festgelegt, indem beim throw bzw. raise Aufruf ein Argument übergeben wird. Die Exception ist<br />
dann vom selben Typ wie der Typ dieses Arguments. Exceptions können in <strong>C++</strong> <strong>von</strong> beliebigem Typ sein. In Object Pascal dagegen sind Exceptions<br />
nur vom Typ Objekt (bevorzugt abgeleitet <strong>von</strong> der Klasse Exception) zulässig.<br />
Mehrere Exception-Handler können, einem try-Block nachfolgend, angelegt werden. Sie werden durch das Wort catch in <strong>C++</strong> <strong>und</strong> except in Object<br />
Pascal eingeleitet. Der zuständige Exception-Handler, der für die Auswertung der aufgetretenen Exceptions verantwortlich ist, wird dadurch<br />
ausgewählt, indem geprüft wird, <strong>von</strong> welchem Typ die Exception ist <strong>und</strong> welcher Handler diese Exception verarbeiten kann.<br />
Eine einmal erzeugte Exception bleibt so lange bestehen, bis sie behandelt oder die Anwendung beendet wird. Deshalb müssen auftretende Exceptions<br />
in irgendeiner Weise behandelt werden. <strong>Visual</strong> <strong>C++</strong> <strong>und</strong> Object Pascal bieten vordefinierte Standardbehandlungsfunktionen (Default-Handler) für<br />
Exceptions an. Deswegen braucht man nicht alle möglicherweise auftretenden Exceptions in jedem try...catch / try...except Block zu behandeln.<br />
Die Klassenbibliothek <strong>von</strong> <strong>Visual</strong> <strong>C++</strong> (MFC) bietet, ebenso wie die Klassenbibliothek <strong>von</strong> <strong>Delphi</strong> (VCL), eine Vielzahl bereits vordefinierter<br />
Exception-Klassen an. Ein entscheidender Unterschied zwischen beiden Sprachen ist die Tatsache, daß eine Exception-Klasse in <strong>Visual</strong> <strong>C++</strong> innerhalb<br />
des Exception-Handlers gelöscht werden muß <strong>und</strong> in Object Pascal nicht gelöscht werden darf.<br />
http://ourworld.compuserve.com/homepages/praxisservice/kapit2b.htm (37 of 52) [19.05.2000 15:30:09]