🐸

发出警报

Python 基础python-architect-11-alarm
奖励: 100 XP
|

我们已经学会了如何 捕获 错误。但有时,我们需要 制造 它们。

为什么?因为有些事情虽然符合 Python 的语法规则,但违反了我们的飞艇规则。比如试图在没有燃料的情况下起飞。

raise 咒语

raise 关键字允许你手动拉响警报。你可以中止程序并大喊:“出问题啦!”

def enter_club(age):
  if age < 18:
      # 停止一切!无效!
      raise ValueError("Too young!")
  print("Welcome.")
1
检查能量

check_engine 函数中,写一个 if 语句来检查 energy 是否小于 10。

2
发出警报

if 内部,使用 raise ValueError("Energy too low!")

3
测试系统

运行代码。第二次调用 check_engine(5) 应该会触发你的警报,而我们的 try/except 块会捕获它并打印出警告信息!

你现在是错误的掌控者了。你可以处理它们 (except),也可以创造它们 (raise)。

参考答案
点击展开
参考答案:
def check_engine(energy):
  print("Checking engine with energy: " + str(energy))
  if energy < 10:
      raise ValueError("Energy too low!")
  print("Engine stable.")

try:
  check_engine(50)
  check_engine(5) # 这会触发警报
except ValueError as e:
  print("Alarm caught: " + str(e))
高级技巧
想更进一步?点击展开

F. 自定义警报

  • 你可以使用 raise 抛出任何内置错误。
  • 专业的 Python 程序使用 raise 来发出信号,表示在当前输入下函数无法正常完成工作。
Loading...
终端输出
Terminal
Ready to run...