[Python-de] Fehlerausgabe bei eigenen Modulen/Bibliotheken

Sebastian Bechtel me at sebastian-bechtel.info
Do Aug 5 22:10:03 CEST 2010


Hallo,

für mich als Python Neuling hat sich genau die selbe Frage auch gestellt. Deshalb möchte ich mal meine These vorstellen, warum es "pythonisch" ist, keine Type Checks zu machen ;-)

Ich denke nämlich das Python hier gar nicht aus dem Raster fällt. Wenn man mich Fragen würde, ob ich sonst immer Type Checks gemacht habe, dann würde ich sofort sagen "Ja, immer". In Wirklichkeit habe ich es aber gar nicht wirklich gemacht, sondern ich habe auf Interfaces und Abstrakte Klassen gecheckt.

Durch diese Möglichkeit konnte ich flexible Architekturen entwerfen, ohne dabei auf Checks verzichten zu müssen.

Nun ist in Python alles etwas flexibler und Interfaces und abstrakte Klassen gibt es nicht (oder ich habe sie zumindest so direkt noch nicht gefunden).

Daher muss man eben mehr auf die Vernunft des Clients bauen. 

Allerdings nun auf einzelne Klassen zu prüfen wäre der falsche Weg, in anderen Sprachen würde man es ja auch nicht machen.

Mein Wort zum Donnerstag ;-)

Seht ihr das auch so, oder was ist eure Meinung dazu?

Gruß Sebastian

Am 05.08.2010 um 00:11 schrieb Johannes Markert:

> Grüße an die Python-Gemeinschaft,
> 
> ich entwickle zur Zeit ein kleines Modul, vorerst für den privaten Gebrauch; wenn es ausgereift ist,
> habe ich vor dieses eventuell auch zu veröffentlichen.
> 
> Mich stellt sich aber momentan eine Frage.
> Wie kann ich in Python professionell eine Fehlerausgabe implementieren.
> D.h. wenn ein Programmierer in seinem Projekt dieses Modul einbindet und dabei zum Beispiel falsche Parameter
> an Modulfunktionen übergibt.
> Dann soll noch währender der Interpretierung und/oder der Ausführung seines Quellcodes das Programm stoppen und eine
> Fehlermeldung ausgegeben werden.
> 
> In der Form:
> 
>    File "dateiXY", line XY, in ModulXY
>    TypeError: Funktion_mit_falschen_Parametern():
>    received integer, tupel required
> 
> Mit anderen Worten eine Typenprüfung.
> 
> Als weiteres Beispiel fällt mir noch ein, wenn die Werteanzahl einer Liste oder eines Tupel zu gering/groß ist.
> Auch hier sollte entsprechend eine Fehlermeldung erscheinen.
> 
> 
> Diese Beispiele sollen nur verdeutlichen, was ich meine.
> Mir geht es also um eine allgemeine Herangehensweise des Problems.
> Gibt es dafür eine Lösung in Python?
> 
> Danke!
> 
> Mit freundlichen Grüßen,
> Johannes Markert
> 
> 
> 
> 
> 
> _______________________________________________
> python-de maillist  -  python-de at python.net
> http://python.net/mailman/listinfo/python-de





Mehr Informationen über die Mailingliste python-de