Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/335.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python SyntaxError in finally(Django)_Python_Django - Fatal编程技术网

Python SyntaxError in finally(Django)

Python SyntaxError in finally(Django),python,django,Python,Django,我正在使用Django,出现以下错误: 异常类型:SyntaxError 异常值:无效语法(views.py,第115行) 我的viws.py代码如下所示: def myview(request): try: [...] except MyExceptionClass, e: [...] finally: render_to_response('template.html', {}, context_instance = RequestContext(request))

我正在使用Django,出现以下错误:

异常类型:SyntaxError 异常值:无效语法(views.py,第115行

我的viws.py代码如下所示:

def myview(request):
try:
    [...]
except MyExceptionClass, e:
    [...]
finally:
    render_to_response('template.html', {}, context_instance = RequestContext(request))
其中MyExceptionClass是一个类扩展异常,第115行是“finally”子句行。若我删除了finally条款(第115-116行),那个么它可以正常工作。有什么想法吗


非常感谢

在Python 3中,应为:

except MyExceptionClass as e:
    [....]

在您的情况下,情况并非如此。

您使用的是什么版本的python?在2.5之前的版本中,不能在同一个try块中同时包含except子句和finally子句

可以通过嵌套try块来解决此问题

def myview(request):
    try:
        try:
            [...]
        except MyExceptionClass, e:
            [...]
    finally:
        render_to_response(
            'template.html', {}, context_instance = RequestContext(request)
        )

Nadia是对的,因此,如果您坚持使用Python 2.4或更早版本,请使用两个try块:

try:
  try:
        [...]
  except MyExceptionClass, e:
        [...]
finally:
        render_to_response(...)
只有在Python3中——在2.5中,原始海报的语法是正确的。