【问题标题】:Customizing exception in read-only property在只读属性中自定义异常
【发布时间】:2011-06-10 21:12:08
【问题描述】:

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

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

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

obj.bla = 1

我显然明白了:

AttributeError: 无法设置属性

有没有办法自定义这个异常?例如,我想将消息更改为

'bla' 是类 X 的只读属性

谢谢,

【问题讨论】:

    标签: python exception properties customization


    【解决方案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)
    

    【讨论】:

    • 当然!我一直在寻找破解财产的方法,但这要简单得多。
    猜你喜欢
    • 2010-11-14
    • 2016-09-20
    • 1970-01-01
    • 2011-12-07
    • 1970-01-01
    • 2016-01-07
    • 2021-03-24
    相关资源
    最近更新 更多