Vererbungslehre
Fehlerbehandlung und objektorientierte Programmierung in Python
Richtig unterscheiden
Sie könnten auf die Idee kommen, Fehler nur anhand der Fehlertexte zu unterscheiden statt über ihre Klassen. Tun Sie das, aus mehreren Gründen, bitte nicht:
- Die Fehlertexte zu den eingebauten Ausnahmen in Python ändern sich unter Umständen von Version zu Version. Eine auf dem Fehlertext beruhende Unterscheidung würde dann beispielsweise in Python 2.4 funktionieren, aber nicht mehr in Python 2.5.
- Auch Autoren von Modulen, die nicht zur Python-Distribution gehören, ändern gelegentlich Fehlertexte.
- Die Texte fallen in mehrsprachigen Programmen unterschiedlich aus.
Machen Sie Ihre Programme daher robuster, indem Sie Ausnahmen immer nur anhand ihrer Klassen unterscheiden. Definieren Sie im Zweifelsfall eine Vererbungshierarchie von Ausnahmetypen.
Glossar
objektorientierte Programmierung
Objektorientiertes Programmieren stellt konkrete und abstrakte Dinge mit ihren Eigenschaften und ihrem Verhalten in den Mittelpunkt des Softwareentwurfs. Das führt in der Regel zu einer besseren Wiederverwendbarkeit und Wartbarkeit von Code gegenüber dem älteren prozeduralen Programmieren.
Ausnahme
Fehlersituation während des Programmablaufs.
Sockets
Bidirektionale Softwareschnittstellen, die es einer Anwendung auf definierte Weise ermöglichen, mit der Netzwerkimplementation des Betriebssystems oder einem anderen Prozess zu kommunizieren.
UML
Die Unified Modeling Language [4] definiert Diagrammtypen und -Elemente für die Softwareentwicklung.
Infos
[1] Neue Try/Except/Finally-Syntax: http://docs.python.org/dev/whatsnew/pep-341.html
[2] StringIO-Modul: http://docs.python.org/lib/module-StringIO.html
[3] Suchreihenfolge in komplexen Vererbungshierarchien: http://www.python.org/download/releases/2.2/descrintro/#mro
[4] Unified Modeling Language: http://de.wikipedia.org/wiki/Unified_Modeling_Language
[5] Eingebaute Ausnahmen: http://docs.python.org/lib/module-exceptions.html



