0
有人问过这个,但答案是建议print
哪个不好。你可以建议如何处理错误,如JSONDecoderError?
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}
使用这个模块,我相信我要赶在例外上面代码片断。但问题是,我应该让原来的一个传播还是自己定义一个异常?
我想看看如何正确处理错误,因为错误可能是由于404,405,甚至500
希望这个问题是有道理的。
谢谢!不用于自动化。这是最终用户。是的,让我们来看看Django吧。在讨论前端之前,我们在代码中调用'bitbucket.find(..)'。在那种情况下,我是否让JSONDecoder传播或定义自定义的?我猜测人们会因为错误而感到快乐,直到用户应用程序。 – CppLearner 2013-03-10 09:42:02
我认为这取决于很多错误的类型以及最终用户想要做什么。由于我没有这些信息,我无法回答这个问题。例如,如果用户正在尝试添加一个bitbucket存储库名称,并且在查找时会从bitbucket服务器获得一个404,则需要以某种方式向最终用户提供一条消息,如“无法找到具有该名称的repo”。 – boxed 2013-03-10 10:24:28