В классе Python, какую ошибку я должен поднять из метода экземпляра, когда некоторые другие атрибуты класса должны быть изменены до запуска этого метода?
Я иду из фона С#, где я бы использовал InvalidOperationException, "исключение, которое бросается, когда вызов метода недействителен для текущего состояния объекта", но я не смог найти эквивалент встроенное исключение в Python.
Я поднимал ValueError ( "при поднятии, когда встроенная операция или функция получает аргумент, который имеет правильный тип, но несоответствующее значение" ), когда проблема связана с параметрами функции. Я полагаю, что это технически недопустимое значение для параметра self; это правильный способ лечения? Например, это идиоматика: raise ValueError("self.foo must be set before running self.bar()")?