我想處理的異常出現在AsyncClient.fetch
這樣:異常在Python龍捲風處理
from tornado.httpclient import AsyncHTTPClient
from tornado.httpclient import HTTPRequest
from tornado.stack_context import ExceptionStackContext
from tornado import ioloop
def handle_exc(*args):
print('Exception occured')
return True
def handle_request(response):
print('Handle request')
http_client = AsyncHTTPClient()
with ExceptionStackContext(handle_exc):
http_client.fetch('http://some123site.com', handle_request)
ioloop.IOLoop.instance().start()
,看看接下來會輸出:
WARNING:root:uncaught exception
Traceback (most recent call last):
File "/home/crchemist/python-3.2/lib/python3.2/site-packages/tornado-2.0-py3.2.egg/tornado/simple_httpclient.py", line 259, in cleanup
yield
File "/home/crchemist/python-3.2/lib/python3.2/site-packages/tornado-2.0-py3.2.egg/tornado/simple_httpclient.py", line 162, in __init__
0, 0)
socket.gaierror: [Errno -5] No address associated with hostname
Handle request
我在做什麼錯?
你能夠捕捉到這個例外嗎?看起來像一個異常沒有得到適當提升。 – Glaslos
@格拉斯洛斯,不,我無法抓住它:(。 –
我記得使用龍捲風期間發生的一些異常很難發現,也許看一些正在進行的問題......對不起,我沒有在一段時間內使用了Tornado ... – Glaslos