【发布时间】:2011-09-25 22:42:30
【问题描述】:
我正在尝试以这种方式处理AsyncClient.fetch中发生的异常:
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......
标签: python exception-handling tornado