Ich versuche, ein triviales Objekt (nur Attribute/Werte) zu serialisieren, Ich habe diese Methode in meiner Klasse.Python Json Serialisierung versuchen/außer
def to_json(self,client):
service=self._service
path="jsonphp/"
path+=client
if not os.path.exists(path):
os.makedirs(path)
with cdd(path):
print os.getcwd()
path=service+".json"
with open(path, 'w') as outfile:
try:
json.dump(self.__dict__, outfile)
except:
print "serialization failed"
der ganze Teil vor dem Versuch/außer ist, in den richtigen Ordner zu navigieren. Es scheint reibungslos zu funktionieren. Aber wenn ich diese Methode verwende, drucke es immer: serialization failed
von meinem except
sogar meine file.json wird erstellt und die Daten sind korrekt darin gespeichert: {"_attr1": "On", "_attr2": "On", "_attr3": "Off"}
Ich dachte, der except
Block wurde nur besucht, wenn ein Fehler aufgetreten war.
Meine Fragen sind die folgenden: Ist das das "normale" Verhalten von try/except
?
Wenn nicht, wie Informationen über die Ausnahme erhalten, die meine Ausnahme fängt?
Könnte es eine Ausnahme sein von irgendwo oben im Code (bevor ich to_json()
anrufen), die dort eingefangen ist?
Einrückungsproblem? –
Ich glaube nicht. Du meinst irgendwo vorher diesen Funktionsaufruf? – pwnsauce