假設我有一個代碼段如下除Python之外,編寫try的最佳方式是什麼?
r = requests.post(url, data=values, files=files)
由於這是進行網絡請求,一束異常可以從該線被拋出。對於參數的完整性,我也可以有文件讀取,發送電子郵件等。要遇到這樣的錯誤,我做
try:
r = requests.post(url, data=values, files=files)
if r.status_code != 200:
raise Exception("Could not post to "+ url)
except Exception as e:
logger.error("Error posting to " + url)
有兩個問題,我用這種方法看到的。
- 我剛剛處理了一個泛型異常,不知道這行會產生什麼樣的確切異常,在python中找到它的最好方法是什麼。
- 這使得代碼看起來很醜,這是非pythonic,但罰款,只要它的健壯和處理所有情況。
我想知道什麼是在python中處理異常的最佳方法。
我不知道爲什麼這個答案獲得了反對票,因爲它似乎是這個問題的一個非常簡單,容易回答。 – kartikg3
@ kartikg3 :)謝謝 –
As @ A.J。說,除了_is_是處理異常的最好方法之外。如果你知道會發生什麼樣的異常以及你處理它們的步驟,那麼就趕上那些異常並處理它們。使用'Exceptions'作爲所有其他/默認/未知情況的默認例外。 – kartikg3