通用的护盾可以防御所有伤害,但有时我们需要知道 什么 击中了我们。
是火焰陷阱?还是冰霜陷阱?Hoppy 需要根据危险做出不同的反应。
捕获特定错误
你可以告诉 Python 只捕获特定类型的错误。这就好比同时装备了“火焰盾”和“寒冰盾”。
try:
# 某些代码
except ValueError:
print("数值错误!")
except NameError:
print("名字不存在!")
1
第一个陷阱
代码 int("Unlimited Power!") 试图将文本转换为数字,这会引发 ValueError。请捕获它并打印 "Spell text invalid!"。
2
第二个陷阱
像 100 / 0 这样的代码会引发 ZeroDivisionError。请添加第二个 except 块来捕获它,并打印 "Cannot divide by zero!"。
使用特定的异常捕获比使用光秃秃的 except: 更好,因为它能防止你意外隐藏了意料之外的 Bug!
参考答案点击展开点击收起
点击展开点击收起
参考答案:
try:
spell_power = int("Unlimited Power!")
except ValueError:
print("Spell text invalid!")
try:
energy = 100 / 0
except ZeroDivisionError:
print("Cannot divide by zero!")高级技巧想更进一步?点击展开点击收起
F. 知己知彼
- Python 常见异常:
IndexError:在只有 5 个元素的列表中查找第 10 个。KeyError:查找字典中不存在的键。FileNotFoundError:读取不存在的文件。
Loading...
终端输出
Terminal
Ready to run...