1
在我的程序中,我正在對某些主機執行一些獲取請求。問題是我無法正確捕捉主機斷開連接時引發的異常。我正在使用龍捲風並且請求是異步的。 考慮下面的代碼:在做龍捲風並行異步請求時捕獲異常
self.http_client = AsyncHTTPClient()
try:
responses = yield [self.http_client.fetch(theUrl) for theUrl in URLS]
except Exception as e:
if (e[0] == 111) or (e[0] == 599):
#Do something
當主機斷開,有時我能捕獲異常,但它仍然拋出。我得到例如印刷到我的日誌文件中此錯誤消息:
ERROR:tornado.application:Multiple exceptions in yield list
Traceback (most recent call last):
File "/opt/felix-web-mon/env/lib/python2.7/site-packages/tornado/gen.py", line 828, in callback
result_list.append(f.result())
File "/opt/felix-web-mon/env/lib/python2.7/site-packages/tornado/concurrent.py", line 238, in result
raise_exc_info(self._exc_info)
File "<string>", line 3, in raise_exc_info
error: [Errno 111] Connection refused
儘管我在處理我的代碼「111」例外,它仍然被拋出。我懷疑這是由於我使用列表理解(我需要)。 如何在產量表中刪除產品清單中的多個例外''?你可以幫幫我嗎 ?