在只读属性中自定义异常

时间:2011-06-10 21:12:08

标签: python exception properties customization

在Python程序中,我有一个只使用

创建的只读属性
bla = property(fget=_get_bla)

其中_get_bla是类中定义的方法。当程序试图写入此属性时

obj.bla = 1

我显然得到了:

  

AttributeError:无法设置属性

有没有办法自定义此例外?例如,我想将消息更改为

  

'bla'是X类的只读属性

谢谢,

1 个答案:

答案 0 :(得分:1)

是的,您可以在课程中添加下一个方法:

def set_bla(self, value):
    raise AttributeError("'bla' is a read-only property of class X")

bla = property(fget=get_bla, fset=set_bla)