【发布时间】:2021-10-13 14:36:41
【问题描述】:
我的学生正在使用 PyParrot 库来控制无人机。但是,如果他们出错(例如,将无人机编码到墙上/升到天花板等),我们需要故障保险。
之前我使用的是 KeyboardInterrupt,但是今年我们使用的是 Mu Editor。 Mu 编辑器在 ctrl+c 上立即退出并且不运行我的异常中的任何内容。
try:
# Drone code
except KeyboardInterrupt:
# Landing Code
我还能如何确保 Python 存在“紧急停止”?
【问题讨论】:
-
不知道
# Drone code,怎么知道? -
这只有在你的代码中有循环时才有效 (example)。如果您确实有一个循环,但 Mu Editor 没有转到
except子句,请尝试使用命令行运行 Python 文件。 -
也许不使用/从编辑器运行代码?使用编辑器编辑代码,
python执行。 -
Drone 代码几乎可以是任何东西,但主要是非常基本的——迭代、分支、输入等。这真的取决于学生在做什么。因此,为什么 KeyboardInterrupt 很棒,因为它可以在他们做错事时让他们摆脱困境(即不要退出循环并让无人机升到天花板,或者越过距离并撞到墙上) .