【发布时间】:2013-02-25 13:34:34
【问题描述】:
以前有人问过这个问题,但答案是建议print 这不好。
Python: Handle JSON Decode Error when nothing returned
鉴于此:
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}
我确定我想在上面的 sn-p 中捕获异常。但问题是,我应该让原始的传播还是自己定义一个异常?
我正在尝试了解如何正确处理错误,因为错误可能是由 404、405 甚至 500 引起的。
希望这个问题有意义。
【问题讨论】:
标签: python