自定义只读属性中的异常

0 投票
1 回答
1236 浏览
提问于 2025-04-16 19:21

在我的Python程序中,我有一个只读属性,是通过

bla = property(fget=_get_bla)

来创建的,其中 _get_bla 是在类中定义的方法。当程序尝试给这个属性写值时,

obj.bla = 1

我显然会遇到:

AttributeError: can't set attribute

有没有办法自定义这个错误信息呢?比如,我想把错误信息改成

'bla' 是类 X 的只读属性

谢谢,

1 个回答

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)

撰写回答