python-3.x - 您对在错误时间调用的函数使用什么错误类型?
问题描述
我有一个表示有限状态机的 Python 3 类,具有用于从状态转换到状态的操作的函数。
如果用户调用while is或者如果用户调用actor.take_train()
while actor.state
is ,我应该引发什么类型的错误?在大多数工作场所,最后一种情况可能也是不明智的,但你就是这样做的。BED
actor.sleep()
actor.state
WORK
函数调用有时有效,但有时无效,我不知道在这种情况下是否存在适合引发的已定义错误。
图片由矮人基金会提供
解决方案
好吧,如果您正在专门寻找异常,可能是从 RuntimeError 派生的自定义异常(ValueError 将是最接近标准异常,但并不完全匹配)。
但是是否甚至抛出异常是对状态机的特定用例的考虑,以及更有用/更方便的方法,例如,您可能只想记录无效信号而不做任何事情,或者返回某种占位符。
推荐阅读
- eclipse - 是否有可能在 Eclipse 中有一个受密码保护的更新站点?
- python - 我可以使用 tkinter 在两列内创建不同的行号吗?
- javascript - Typescript 中的缩小泛型函数有什么用?
- flutter - Flutter:FutureBuilder没有显示列表
- html - vue bootstrap中的卡填充问题
- docker - 如何从 docker image 运行 spotligth prism mock
- swift - 如何避免在其大小缩放到最小大小后运行窗口?
- azure - Azure IoT 边缘以编程方式 [NodeJS] 在边缘和叶设备之间创建父子关系
- visual-studio-code - Where is Git: Add Remote command?
- mongodb - 转储和恢复 mongo 数据库的问题