Koz*_*zet 26 python attributes exception-handling exception
有没有办法Exception在Python中的try-except块中使用对象的属性/属性?
例如在Java中我们有:
try {
// Some code
} catch(Exception e) {
// Here we can use some of the attributes of "e"
}
Run Code Online (Sandbox Code Playgroud)
Python中的等价物会给我一个参考e?
Ash*_*ary 56
使用该as声明.您可以在处理例外中阅读有关此内容的更多信息.
>>> try:
... print(a)
... except NameError as e:
... print(dir(e)) # print attributes of e
...
['__cause__', '__class__', '__context__', '__delattr__', '__dict__', '__doc__', '__eq__',
'__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', '__le__',
'__lt__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__',
'__setstate__', '__sizeof__', '__str__', '__subclasshook__', '__traceback__', 'args',
'with_traceback']
Run Code Online (Sandbox Code Playgroud)
当然,有:
try:
# some code
except Exception as e:
# Here we can use some the attribute of "e"
Run Code Online (Sandbox Code Playgroud)
以下是文档中的示例:
class MyError(Exception):
def __init__(self, value):
self.value = value
def __str__(self):
return repr(self.value)
try:
raise MyError(2*2)
except MyError as e:
print 'My exception occurred, value:', e.value
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
36287 次 |
| 最近记录: |