【发布时间】:2013-01-09 13:34:29
【问题描述】:
这是我现在丑陋的小代码sn-p:
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”识别为异常(已解决,谢谢,stackers),而是抱怨它不是全局变量。其次,更重要的是,我真的很想知道错误是我方还是服务器方。
通常我想重试我的错误,但放弃并报告 SERVER 错误。 (“我的”错误是指服务器错误以外的任何错误。)
【问题讨论】:
-
删除尝试,除了。检测异常。代码是否为您的端错误和服务器端错误提供相同的异常?(尝试重现错误)如果它们不同,请抓住你的。顺便说一句,您应该导入相关的异常来捕获它。
-
re: 你的'i 不是一个全局变量'——在这种情况下你想在 for 循环中使用相对晦涩的
else子句:docs.python.org/release/1.5/tut/node23.html