0
私のプログラムがtry catchブロックで定義されたエラーコードiのjson応答を返さない理由を理解できません。返品処理例外
json = request.json
return jsonify(controller.new_configuration(json))
これは
Controller.py
def new_configuration(self, data):
try:
self.config.read('system/settings.ini')
self.config.set('service_configuration', 'servid', data['servID'])
self.config.set('service_configuration', 'uri', data['uri'])
self.config.set('service_configuration', 'res_temp_min', data['res_temp_min'])
for param in data['modelParameters']:
self.config.set('model_param', param['k'], param['v'])
with open('system/settings.ini', 'w') as configfile:
self.config.write(configfile)
except TypeError as e:
return {"rc": 1, "rcDesc": e}
except ValueError as e:
return {"rc": 1, "rcDesc": e}
except KeyError as e:
self.log.warning(e)
return {"rc": 1, "rcDesc": e}
except AttributeError as e:
self.log.warning(e)
return {"rc": 1, "rcDesc": e}
return {"rc": 0, "rcDesc": "ok"}
にイム故意はTypeErrorのJSONを送信し、私はそれを返すべきであると思い、私の関数new_configurationある{ "RC":1、 "rcDescを":E}が、そうではありません。 私が代わりにこのエラーを持って、アプリの休憩:
raise TypeError(repr(o) + " is not JSON serializable")
TypeError: KeyError('servID',) is not JSON serializable
あなたが受け取ったエラーメッセージには何が不明ですか? Exceptionインスタンスのシリアライズをどのように想定しますか? –
'jsonify'を' try/except'ブロックで囲むべきでしょう...この関数が例外をスローするように見えます。 –