使用try, except时NameError: global未定义
编辑:
忽略这个,我在发帖后大约3秒就搞定了,但我无法删除它 =(
我有一段用于处理RackSpace云文件的try和except代码
try:
cacheobject = cachecontainer.get_object('file.jpg')
except NoSuchObject as objectname:
raise tornado.web.HTTPError(404)
如果找不到'file.jpg',就会抛出一个叫'NoSuchObject'的异常。当我运行这段代码时,我遇到了这个错误:
except NoSuchObject as objectname:
NameError: global name 'NoSuchObject' is not defined
我试着把NoSuchObject放在引号里,但这样又出现了一个关于字符串异常被弃用的错误。
3 个回答
0
你试过用明确的导入吗?像这样:
from cloudfiles.errors import NoSuchObject
1
NoSuchObject是在另一个模块里,可能是在cachecontainer里面。你需要把它导入进来。
3
捂脸
是啊,这编程的事儿只是我的工作,没什么大不了的
我必须得用这个笨东西,对吧
try:
cacheobject = cachecontainer.get_object('file.jpg')
except cloudfiles.errors.NoSuchObject as objectname:
raise tornado.web.HTTPError(404)
我会努力在以后不犯傻的