Google Appengine和Python异常

时间:2010-01-28 00:34:51

标签: python google-app-engine exception

在我的Google Appengine应用程序中,我在模块'gvu'中定义了一个自定义异常InvalidUrlException(Exception)。在我的代码中的某处:

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行是以'except'开头的行)

这个问题似乎来自'as e'部分:如果我删除它,我就不会再得到这个例外了。但是,我希望能够访问引发的异常。你有没有遇到过这个问题?有替代语法吗?

3 个答案:

答案 0 :(得分:5)

您的服务器上可能有较旧的Python版本。 except ExceptionType as varname:是一种较新的语法。以前您只需使用逗号:except ExceptionType, varname:

答案 1 :(得分:2)

我遇到了同样的错误,因为我在使用python3 print语句的python3文件(带括号的print语句)上使用pydoc命令而不是pydoc3命令。

答案 2 :(得分:0)

仅供参考,这个错误的另一个可能原因 - 特别是如果引用的行在脚本的早期(如第2行)是Unix和Windows之间的行结束差异。

我从Cygwin shell在Windows上运行Python并得到了这个错误,并且真的很困惑。我在编辑之前用“touch”创建了文件。

我将文件重命名为临时文件名,并将另一个文件(我从Unix服务器下载)复制到原始文件名,然后通过临时文件恢复内容,问题解决了。相同的文件内容(无论如何在屏幕上),唯一的区别是文件最初创建的位置。

只是想发布这个以防万一其他人遇到此错误并同样感到困惑。