异常处理

异常处理是指在程序运行过程中处理错误或异常的机制,异常处理使程序能够优雅地应对运行时的错误,避免程序崩溃.想象你正在做一顿晚餐,在烹饪过程中可能会遇到各种意外情况:

在 Python 中,使用 try, execpt, else, finally 关键字进行异常处理,基本结构如下所示:

try:
    # 尝试执行可能出错的代码
except SomeException:
    # 如果发生特定类型的错误,执行这里的代码
except AnotherException:
    # 处理另一种类型的错误
else:
    # 如果没有发生异常,执行这里的代码
finally:
    # 无论是否发生异常,都会执行这里的代码

其中的 try 块中是可能引发异常的代码,except 块捕获并处理特定类型的错误,else 块在没有发生错误时执行,finally 块无论是否发生错误都会执行

try:
  num = int(input("请输入一个数字: "))
  result = 10 / num
  print("计算结果是: ", result )
except ValueError:
  print("请输入一个有效数字")
except ZeroDivisionError:
  print("不能除以零")
else:
  print("没有发生错误")
finally:
  print("程序结束")
现在如果我们输入的是一个字符串,程序会输出 "请输入一个有效的数字",如果输入的是 0,程序会输出 "不能除以零",如果输入的是一个合法的数字,程序会输出计算结果,并且输出 "没有发生错误" 和 "程序结束"。

try:
  num = int(input("请输入一个数字: "))
  result = 10 / num
  print(f"输出结果: {result}")
except Exception as e:
  print("计算结果是: ", {e} )

如果不能确定发生什么异常,可以使用 Exception 来捕获所有异常,Exception 异常是所有异常的基类,可以捕获所有异常.

还有的时候我们可以主动抛出异常,这就需要使用到 raise 关键字,比如下面这个例子:

def check_value(x):
  if x < 0:
    raise ValueError("值不能为负数")

try:
  check_value(-5)
except ValueError:
  print("捕获到值错误,重新引发...")
  raise
回到页面顶部