我们已经学会了识别错误,但如何防止它们导致程序崩溃呢?
想象 Hoppy 正在穿过一片雷区。与其祈祷没有地雷,不如给 Hoppy 装备一个 护盾 (Shield)。如果地雷爆炸了,护盾会吸收伤害,Hoppy 可以继续前行。
try 和 except 咒语
这道咒语由两部分组成:
- try (尝试):“尝试做这件危险的事情。”
- except (除了/捕获):“如果失败/崩溃了,就执行这里的方案 B,而不是直接挂掉。”
try:
# 危险代码
print(1 / 0)
except:
# 备用方案
print("除以零错误被挡下了!")
1
展开护盾
将 loot = open_chest(13) 这行代码放进 try: 块中。别忘了缩进!
2
处理陷阱
添加一个 except: 块。在里面打印 "Shield blocked the trap!"。
3
运行
运行代码。你不会看到吓人的红色报错信息,而是会看到你自定义的安全消息。
没有 try/except,错误会立即终止程序。有了它,你的程序即使发生事故也能继续运行!
参考答案点击展开点击收起
点击展开点击收起
参考答案:
try:
loot = open_chest(13)
print("Loot found: " + loot)
except:
print("Shield blocked the trap!")高级技巧想更进一步?点击展开点击收起
F. 护盾机制
- 不要滥用护盾:只在通过 可能 崩溃的代码周围使用
try/except(例如读取文件、网络请求或用户输入)。 - 沉默是危险的:如果你在
except:里什么都不做(不打印),你可能会意把真正的 Bug 给藏起来。记得总是记录点什么!
Loading...
终端输出
Terminal
Ready to run...