Python SyntaxError in finally(Django)
我正在使用Django,出现以下错误: 异常类型:SyntaxError 异常值:无效语法(views.py,第115行) 我的viws.py代码如下所示: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))
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中,原始海报的语法是正确的。