return value from file

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
taake
User
Beiträge: 125
Registriert: Donnerstag 14. Oktober 2010, 08:49

Sirius3 hat geschrieben: soll ich Dich jetzt für den größten Komiker hier im Forum oder einfach nur für ignorant halten?
Wer wäre ich, mich dort einzumischen - jeder soll sich selbst seine Meinung bilden.

Aber recht hast du natürlich.

Hab mein except jetzt erweitert.

Code: Alles auswählen

 except Exception, err:
        sys.stderr.write('ERROR: %s\n' % str(err))
Dachte nur immer ich müsste für jede eventualität einen eigenen execpt anlegen, aber scheinbar kann ich es auch global machen.
Benutzeravatar
/me
User
Beiträge: 3554
Registriert: Donnerstag 25. Juni 2009, 14:40
Wohnort: Bonn

taake hat geschrieben:

Code: Alles auswählen

except Exception, err:
Solltest du ein halbwegs aktuelles Python (>= 2.6) verwenden, dann verwende die neue Syntax.

Code: Alles auswählen

except Exception as err:
BlackJack

@taake: Warum hast Du da überhaupt so ein allgemeines ``except:``? Entweder weiss man ganz konkret welche Ausnahme(n) man erwartet und wie man in einem ``except`` *sinnvoll* darauf reagieren kann, oder man lässt es einfach weg. *Dann* bekommt man bei unerwarteten Ausnahmen nicht nur die Ausnahme und die damit verbundene Nachricht, sondern auch noch einen Traceback, der einen genau auf die Zeile hinweist in der es das Problem gab, *und* die Aufrufreihenfolge die zu diesem Problem geführt hat. Also die Sachen, die man wissen möchte um einem Fehler auf den Grund zu gehen.

Der Vorteil von Ausnahmen gegenüber Fehlercodes die überall zurück gegeben werden, ist ja gerade, dass man nicht direkt bei jedem Aufruf auf einen Fehler reagieren muss, das andererseits aber auch kein Fehler unbemerkt ignoriert wird, weil man vergessen hat zu prüfen.
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

webspider hat geschrieben:Manchmal frage ich mich ob Leute, die den Unterschied zwischen Code und Daten nicht wahrhaben wollen besser Lisp erlernen sollten. Aber nur manchmal, denn es scheint einer Menge Programmierer zu hoch zu sein damit tatsächlich sinnvolles anzustellen.
Auch Lisp-Programmierer ´´eval´´en nicht jedes dahergelaufene Stück Daten das nicht bei 3 aufm Baum war ;)
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

Ein ``try... except`` ohne explizite Angabe der Exeption, die man erwartet, sollte man *nie* verwenden! Wenn Du keine Ahnung hast, was da an Exception kommt, lass das ´´try... except`` einfach weg.

Edit: Oops... hab gar nicht gesehen, dass es noch eine Seite gab, auf der das schon angesprochen worden ist :oops:
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
Antworten