正确处理错误/意外值的方法

时间:2014-08-11 15:40:21

标签: python

我目前正在我的Python程序中使用assert来停止程序,如果收到不正确的值以阻止其余代码运行。

这是最佳方式,还是if value == x然后break会更好,还是有更好的方法来同时向用户提供反馈?

这就是我目前确保只接收到4的值并且程序无法继续运行的方式。

assert relayDecoded['relayCmd'] == 4 # Otherwise the relay_connect have not been received (Usually down to a time out)

1 个答案:

答案 0 :(得分:0)

如果您在某个函数中期待4,那么我会引发ValueError异常,如果收到非int值,则会TypeError

如果您希望用户输入4,那么我会打印错误消息并break执行或使用sys.exit()