Jan*_*egg 3 python exception raise syntax-error
如何在python 1.5.2中获取异常的类型?
这样做:
try:
raise "ABC"
except Exception as e:
print str(e)
Run Code Online (Sandbox Code Playgroud)
给出一个SyntaxError:
except Exception as e:
^
SyntaxError: invalid syntax
Run Code Online (Sandbox Code Playgroud)
编辑: 这不起作用:
try:
a = 3
b = not_existent_variable
except Exception, e:
print "The error is: " + str(e) + "\n"
a = 3
b = not_existent_variable
Run Code Online (Sandbox Code Playgroud)
因为我只得到参数,而不是实际的错误(NameError):
The error is: not_existent_variable
Traceback (innermost last):
File "C:\Users\jruegg\Desktop\test.py", line 8, in ?
b = not_existent_variable
NameError: not_existent_variable
Run Code Online (Sandbox Code Playgroud)
它的
except Exception, e:
Run Code Online (Sandbox Code Playgroud)
在Python 1和2中.(虽然as也适用于Python 2.6和2.7).
(为什么你在使用1.5.2!?)
然后获取您使用的错误类型type(e).要获取您使用的Python 2中的类型名称type(e).__name__,我不知道它是否适用于1.5.2,您必须检查文档.
更新:它没有,但e.__class__.__name__确实如此.