Настройка исключения в свойстве только для чтения

В программе 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)
Другие вопросы по тегам