這是我現在的醜陋的小的代碼片段:這裏使用Python「請求」庫,如何判斷ConnectionError是客戶端還是服務器端?
for i in range(5):
try:
self.startTime=time.time()
self.rawfeed=requests.get(self.feedurl)
continue
except ConnectionError:
print "Got a connection error. Retrying", i
time.sleep(i*i) # giving a bit longer wait each time
pass
if i == 5: raise
self.ResponseTime=time.time()-self.startTime
兩個問題。首先,我的except語句似乎並不認爲「ConnectionError」是一個異常(SOLVED,thanks,stackers),而是抱怨說它不是全局變量。其次,更重要的是,我真的很想知道錯誤是我的方面還是服務器方面。
通常我想重試MY錯誤,但放棄並報告SERVER錯誤。 (通過「我的」錯誤,我的意思是服務器錯誤以外的任何東西。)
刪除嘗試,除外。檢測異常。代碼是否爲你的側面錯誤和SERVER側面錯誤提供了相同的異常?(嘗試重現錯誤)如果它們不同,請抓住你的錯誤。順便說一句,你想導入相關的異常來捕捉它。 – ayyayyekokojambo
re:你的'我不是一個全局變量' - 這是一個你想要在for循環中使用相對晦澀的'else'子句的例子:http://docs.python.org/release/1.5/ tut/node23.html – bgporter