Google Appengine и Python исключения - PullRequest
1 голос
/ 28 января 2010

В моем приложении Google Appengine я определил пользовательское исключение InvalidUrlException (Exception) в модуле 'gvu'. Где-то в моем коде я делаю:

try:
    results = gvu.article_parser.parse(source_url)
except gvu.InvalidUrlException as e:
    self.redirect('/home?message='+str(e))
...

, который отлично работает на локальном сервере разработки GAE, но вызывает

<type 'exceptions.SyntaxError'>: invalid syntax (translator.py, line 18)

когда я загружаю его. (строка 18 - это строка, начинающаяся с «кроме»)

Проблема, похоже, исходит от части «как е»: если я ее уберу, я больше не получу это исключение. Однако я хотел бы получить доступ к возбужденному исключению. Вы когда-нибудь сталкивались с этой проблемой? Есть ли альтернативный синтаксис?

Ответы [ 3 ]

5 голосов
/ 28 января 2010

Возможно, на вашем сервере установлена ​​более старая версия Python. except ExceptionType as varname: - более новый синтаксис. Ранее вам нужно было просто использовать запятую: except ExceptionType, varname:.

2 голосов
/ 27 июня 2014

Я получаю ту же ошибку, потому что я использовал команду pydoc вместо команды pydoc3 в файле python3, который использовал операторы печати python3 (операторы печати с круглыми скобками).

0 голосов
/ 15 марта 2010

Просто FYI, еще одна возможная причина этой ошибки - особенно если строка, на которую ссылаются, находится в начале скрипта (как строка 2), это различия в конце строки между Unix и Windows.

Я запускал Python на Windows из оболочки Cygwin и получил эту ошибку, и был действительно озадачен. Я создал файл с помощью «touch» перед его редактированием.

Я переименовал файл в имя временного файла и скопировал другой файл (который я скачал с сервера Unix) в исходное имя файла, затем восстановил содержимое через временный файл, и проблема была решена. Точно такое же содержимое файла (в любом случае на экране), единственная разница была в том, где файл был изначально создан.

Просто хотел опубликовать это на тот случай, если кто-нибудь еще столкнулся с этой ошибкой и был так же озадачен.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...