[Python-de] RE: [Python-de] Versuch über die Ausnahmebehandlung
Martin v. Löwis
martin at v.loewis.de
Wed Dec 11 17:47:41 EST 2002
Gerson.Kurz at t-online.de (Gerson Kurz) writes:
> > try:
> > cfg_open()
> > value = cfg_get(name, value) # Was bedeutet hier eigentlich der
> > # value-Parameter?
> > except CfgCouldNotOpen:
> > return value
[...]
> Das ist zugegeben lesbarer, mich würde jetzt nur noch stören, daß ich nur
> explizit diese beiden Exceptions wissen muss.
Aber das ist doch _haargenau_ das gleiche wie bei Fehlercodes, die
muss der Rufer doch auch kennen. Die Ausnahmen einer Operation gehören
zum Interface dieser Operation.
> (Ich musste übrigens den Code zweimal lesen, um zu erkennen, daß
> cfg_close() nicht aufgerufen wird, wenn cfg_open() fehlschlägt).
Ich denke, das ist eine Übungsfrage. Durch das Except-Else-Konstrukt
kann man Programme so schreiben, dass die Fehler in Leserichtung
zuerst behandelt werden, während sie aufgrund der Gewohnheit an
anderer Stelle erwartest.
Ciao,
Martin
More information about the Python-de
mailing list