У меня есть класс Python 3, представляющий конечный автомат, с функциями для действий по переходу из состояния в состояние.
Какой тип ошибки я должен вызвать, если пользователь вызывает actor.take_train()
, в то время как actor.state
- это BED
, или если пользователь звонит actor.sleep()
, а actor.state
- WORK
? Этот последний случай, вероятно, также не рекомендуется на большинстве рабочих мест, но вы делаете это.
Вызов функции иногда допустим, но недействителен в других, и я не знаю, есть ли определенная ошибка, соответствующая повышение в этом случае.
Изображение предоставлено Фонд Гномов