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