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”例外,它仍然被抛出。我怀疑这是由于我使用列表理解(我需要)。 如何在产量表中删除产品清单中的多个例外''?你可以帮帮我吗 ?