Настройка исключения в свойстве только для чтения
В программе Python у меня есть свойство только для чтения, которое я создаю с помощью
bla = property(fget=_get_bla)
где _get_bla - это метод, определенный в классе. Когда программа пытается написать в этом свойстве
obj.bla = 1
Я очевидно получаю:
AttributeError: невозможно установить атрибут
Есть ли способ настроить это исключение? Например, я хотел бы изменить сообщение на
"bla" - это свойство только для чтения класса X
Спасибо,
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)