Einheitlicher Weg gesucht um Exception Messages auszugeben
Verfasst: Montag 8. September 2008, 13:40
Ich habe in der letzten Zeit öfter mal die Erfahrung machen dürfen, dass egal wie ich exceptions abfange, es immer wieder Fälle gibt in denen eine der Lösungen nicht funktioniert.
Beispiele:
Kennt ihr noch andere Möglichkeiten?
Wie ermittelt ihr die Meldung von gefangenen Exceptions?
Was mich ein wenig an dem Zugriff über message gestört hat, war die Tatsache das es nicht von älteren Versionen wie Pyhton2.3 unterstützt wird. Aber damit hatte ich mich eigentlich abgefunden.
Beispiele:
Code: Alles auswählen
In [54]: try: raise ValueError(u"brötchen")
....: except ValueError, e: pass
....:
In [55]: str(e) # Das geht natürlich nicht...
---------------------------------------------------------------------------
<type 'exceptions.UnicodeEncodeError'> Traceback (most recent call last)
H:\<ipython console> in <module>()
<type 'exceptions.UnicodeEncodeError'>: "'ascii' codec can't encode character u'\xf6' in position 2: ordinal not in range
(128)"
In [56]: e.message # Dann mach ich es lieber so und arbeite mit unicode weiter
Out[56]: u'br\xf6tchen'
In [57]: try: str(u"brötchen")
....: except UnicodeEncodeError, e: pass
....:
In [58]: e.message # Toll, mein message Attribut ist leer!?
Out[58]: ''
In [59]: str(e) # Dann muss ich wohl doch den Weg nehmen
Out[59]: "'ascii' codec can't encode character u'\\xf6' in position 2: ordinal not in range(128)"
Wie ermittelt ihr die Meldung von gefangenen Exceptions?
Was mich ein wenig an dem Zugriff über message gestört hat, war die Tatsache das es nicht von älteren Versionen wie Pyhton2.3 unterstützt wird. Aber damit hatte ich mich eigentlich abgefunden.