这是我的代码,问题是:
控制台输出"before, {"result" : "-1", "msg" : "Server error"}"
,
但它不输出"after, {"result" : "-1", "msg" : "Server error"}"
,
它不执行self.finish(res)
语句。
有人知道原因吗?我想让self.finish(res)
执行。请帮帮我!
def get(self, param):
try:
do_something()
except:
res = '{"result" : "-1", "msg" : "Server error"}'
logger.error('%s' % traceback.format_exc())
print("before, %s" % res)
yield tornado.gen.Task(self.captureException, exc_info=True)
print("after, %s" % res)
finally:
do_something()
self.finish(res)
如果使用yield gen.Task()
,则需要将asnyc装饰器添加到方法中:
from tornado import gen, web
@web.asynchronous
@gen.engine
def get(self, param):
# your get method