我正在使用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是扩展Exception的类,第115行是'finally'子句行。如果我删除finally子句,(第115-116行),工作正常。有什么想法吗?
非常感谢!
答案 0 :(得分:14)
你使用的是什么版本的python?在2.5之前,您不能在同一个try块中同时包含except子句和finally子句。
你可以通过嵌套试块来解决这个问题。
def myview(request):
try:
try:
[...]
except MyExceptionClass, e:
[...]
finally:
render_to_response(
'template.html', {}, context_instance = RequestContext(request)
)
答案 1 :(得分:2)
Nadia是对的,所以如果您遇到Python 2.4或更早版本,请使用两个试用块:
try:
try:
[...]
except MyExceptionClass, e:
[...]
finally:
render_to_response(...)
答案 2 :(得分:0)
在Python 3中,应该是:
except MyExceptionClass as e:
[....]
在你的情况下,情况并非如此。