NameError, глобальный не определен при использовании try, кроме - PullRequest
0 голосов
/ 19 мая 2011

Редактировать:
Игнорировать это, я понял это примерно через 3 секунды после публикации, но не могу удалить его = (

У меня есть эта попытка, кроме кода для работы с облачными файлами RackSpace

    try:
        cacheobject = cachecontainer.get_object('file.jpg')
    except NoSuchObject as objectname:
        raise tornado.web.HTTPError(404)

Если «file.jpg» не найден, возникает исключение «NoSuchObject». При запуске этого кода я получаю ошибку

, за исключением NoSuchObject в качестве имени объекта:
NameError: глобальное имя NoSuchObject не определено

Я попытался поместить NoSuchObject в кавычки, но затем я получил ошибку об исключении строковых исключений.

Ответы [ 3 ]

3 голосов
/ 19 мая 2011

Facepalm

Да, это программирование - только моя работа, ничего особенного

Я должен использовать эту глупую вещь, не так ли

try:
    cacheobject = cachecontainer.get_object('file.jpg')
except cloudfiles.errors.NoSuchObject as objectname:
    raise tornado.web.HTTPError(404)

Я постараюсь и не быть глупым в будущем

1 голос
/ 19 мая 2011

NoSuchObject находится в другом модуле, возможно, в cachecontainer. Вы должны импортировать его.

0 голосов
/ 19 мая 2011

вы пробовали с явным импортом?как это:

from cloudfiles.errors import NoSuchObject
...