16

我试图找出python中所有异常类的母亲都带有哪些方法和属性:异常类。但是,我遇到了一些麻烦,因为官方文档似乎没有提供它。

我能找到的最好的是:http ://docs.python.org/library/exceptions.html ,但它只列出了内置的异常。

这是怎么回事?我已经习惯了 Java 和 PHP 文档,所有东西都摆在桌面上 :(

4

2 回答 2

20

内置函数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).

于 2012-09-04T15:10:58.633 回答
6

上只有一个有趣的属性BaseException,那就是args. 这是记录在案的,所以没有问题。

除了不应该直接调用BaseException的特殊 ( ) 方法之外,没有其他方法。__其中,__str__由句子记录

如果在此类的实例上调用str()or unicode(),则返回实例的参数表示形式,或者在没有参数时返回空字符串。

[还有一个公共属性,message,但如果您访问它,您将获得一个DeprecationWarning. 不推荐使用的属性并不总是记录在案,因为您不应该在新代码中使用它们。]

于 2012-09-04T15:12:59.713 回答