[Python-de] Aufrufunterschiede zwischen C-Wrapper und native
"Martin v. Löwis"
martin at v.loewis.de
Mon Jun 26 08:08:51 CEST 2006
Markus Heller wrote:
> ich habe ein sehr merkwürdiges Phänomen entdeckt :-) Wenn ich folgendes
> Programm von meiner in C++ eingebetteten Python-Instanz starten lasse, (ich
> springe die "go"-Funktion an) bekomme ich "Document is not well formed.
>
> Wenn ich das Programm standalone laufen lasse, sagt es mir, daß mein Dokument
> sehr wohl well-formed ist.
>
> Woran kann das liegen?
Das liegt sicher daran, dass die Ausnahme, die Du bekommst, eine andere
ist. "except Exception" ist sehr allgemein; es könnte sich auch um einen
ImportError handeln.
Du solltest:
1. Dein Programm so umwandeln, dass die spezifische Ausnahme getrennt
von der allgemeinen behandelt wird, etwa
try:
...
except SAXParseException, e:
print "%s is NOT well-formed! %s" % (filename, e)
except Exception, e:
print "Other error: %s: %s" % (e.__class__, e)
2. Dann ermitteln, um welche Ausnahme es sich beim eingebetteten
Fall wirklich handelt.
Ciao,
Martin