誰かが前にこれを尋ねました、しかし答えはprint
どちらが良くないかを示唆しています。
Python:何も返されない場合のJSONデコードエラーの処理
これを考えると:
class BitbucketError(Exception):
pass
try:
response = requests.get('https://bitbucket.org/.......')
return response.json()['data']
# because JSONDecoderError inherits from ValueError
except (json.JSONDecoderError, ValueError) as e:
raise BitbucketError(response.status_code)
大丈夫。しかし、このモジュールを別のプロジェクトで使用する場合は、
# save to dabase, example 1
raw_code = mymodule.bitbucket.file(...)
db.save(raw_code)
# return json back to user (api server, example 2)
raw_code = mymodule.bitbucket.file(...)
return {'data': raw_code}
上記のスニペットで例外をキャッチしたいと思います。しかし、問題は、元の例外を自分で伝播または定義させるだけでよいのかということです。
エラーは404、405、さらには500が原因である可能性があるため、エラーを適切に処理する方法を確認しようとしています。
この質問が理にかなっていることを願っています。