私のプログラムでは、いくつかのホストにいくつかのget要求を出しています。問題は、ホストが切断されたときにスローされる例外を正しくキャッチできないことです。私は竜巻を使用しており、リクエストは非同期です。竜巻で並列非同期リクエストを実行中に例外をキャッチ
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
ホストが切断されると、時々、私は例外をキャッチすることができていますが、それはまだ投げます: は、以下のコードを考えます。私は私のコードで「111」の例外を処理しています、それはまだスローされているという事実にもかかわらず
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
:私は、例えば、私のログファイルに印刷され、このエラーメッセージが表示されます。私はそれが私がリストの理解を使用しているという事実によると思う(私が必要とする)。 これをキャッチするにはどうすればいいですか?例外ブロック内の複数の例外を利回りリスト 'に挿入しますか?私たちを手伝ってくれますか ?