识别潜在的诅咒
在这一步中,你将学习识别 Python 咒语(代码)中可能出现诅咒(错误)的潜在位置。让我们先编写一个有时可能出错的简单咒语。我们将创建一个药水混合脚本,该脚本会尝试将药水分成更小的瓶子,但任何明智的巫师都知道,绝不能除以零。
在 ~/project
中打开一个名为 potion_dividing.py
的文件,并添加以下代码:
def divide_potions(total_potions, vial_count):
return total_potions / vial_count
## 尝试将 10 瓶药水分成 2 个小瓶
print(divide_potions(10, 2))
在终端中使用以下命令运行你的代码:
python ~/project/potion_dividing.py
你应该会看到输出:
5.0
这表明药水成功分开。
现在,修改 potion_dividing.py
脚本以包含一个有风险的咒语情况。
print(divide_potions(10, 0)) ## 这个咒语很危险,应该进行处理!
你应该会看到输出:
Traceback (most recent call last):
File "/home/labex/project/potion_dividing.py", line 6, in <module>
print(divide_potions(10, 0))
File "/home/labex/project/potion_dividing.py", line 2, in divide_potions
return total_potions / vial_count
ZeroDivisionError: division by zero
执行改进后的脚本将向你展示需要捕获的被诅咒的异常。在这个实验中,我们将学习优雅地处理此类情况。