我试图找出python中所有异常类的母亲带来哪些方法和属性:Exception类。但是,由于官方文档似乎没有提供它,我遇到了一些麻烦。
我能找到的最好的是:http://docs.python.org/library/exceptions.html,但只列出了内置的例外情况。
发生了什么事?我已经习惯了Java和PHP文档,其中包含了所有内容:(
答案 0 :(得分:17)
内置函数dir
将给出一个包含对象方法和属性的名称列表。
>>>print dir(Exception)
['__class__', '__delattr__', '__dict__', '__doc__', '__format__', '__getattribut
e__', '__getitem__', '__getslice__', '__hash__', '__init__', '__new__', '__reduc
e__', '__reduce_ex__', '__repr__', '__setattr__', '__setstate__', '__sizeof__',
'__str__', '__subclasshook__', '__unicode__', 'args', 'message']
您还可以使用help
方法获取帮助:help(Exception)
。
答案 1 :(得分:6)
BaseException
上只有一个有趣的属性,那就是args
。这是记录在案的,所以没有问题。
除了特殊(BaseException
)方法之外,__
上没有方法,您不应该直接调用这些方法。其中,__str__
由句子
如果在此类的实例上调用
str()
或unicode()
,则返回实例的参数表示,或者在没有参数时返回空字符串。
[还有一个公共属性message
,但如果您访问该属性,则会获得DeprecationWarning
。不建议使用不推荐使用的属性,因为您不应在新代码中使用它们。]