Python 3中的异常捕获机制(try-except语句)

时间:2024-03-31 20:03:23

诸神缄默不语-个人CSDN博文目录

在编程过程中,异常的出现是难以避免的。异常指程序在执行过程中发生的不正常情况,如除数为零、文件不存在等。如果不进行处理,程序就会崩溃退出。Python提供了try-except语句来捕获并处理异常,确保程序的健壮性。

文章目录

  • try-except语句的语法
  • 捕获单个异常
  • 捕获多个异常
  • 捕获所有异常
  • 使用else和finally

try-except语句的语法

try:
    # 可能发生异常的代码块
    pass
except 异常类型1:
    # 发生异常类型1时执行的代码块
    pass
except 异常类型2:
    # 发生异常类型2时执行的代码块 
    pass
# 可以添加多个except语句用于捕获不同类型的异常
else:
    # 如果try代码块中没有发生异常,则执行else代码块
    pass
finally:
    # 无论try代码块是否发生异常,finally代码块都会执行
    pass

捕获单个异常

try:
    result = 10 / 0  # 发生除零异常
except ZeroDivisionError:
    print("除数不能为零!")

输出结果:

除数不能为零!

捕获多个异常

try:
    num = int(input("请输入一个数字: "))
    result = 10 / num
    print(f"结果是: {result}")
except (ValueError, ZeroDivisionError) as e:
    print(f"发生了异常: {e}")

输出示例:

请输入一个数字: 0
发生了异常: division by zero

捕获所有异常

try:
    result = 10 / 0
except Exception as e:
    print(f"发生了异常: {e}")

输出结果:

发生了异常: division by zero

使用else和finally

try:
    num = int(input("请输入一个数字: "))
    result = 10 / num
except ValueError:
    print("输入的不是数字!")
except ZeroDivisionError:
    print("除数不能为零!")
else:
    print(f"结果是: {result}")
finally:
    print("无论如何,finally代码块都会执行。")

输出示例:

请输入一个数字: 5
结果是: 2.0
无论如何,finally代码块都会执行。

通过上述示例,相信您已经对Python的异常捕获机制有了一定的了解。在编程时,恰当地使用try-except语句可以有效避免程序因异常而崩溃,提高程序的健壮性。