Python 提供了 异常处理机制 来捕获和处理运行时错误,防止程序崩溃。常见的异常包括 ZeroDivisionErrorFileNotFoundErrorIndexError 等。

1. try-except 语句

使用 try-except 语句可以捕获异常,避免程序中断。

try:
    x = 1 / 0  # 触发 ZeroDivisionError
except ZeroDivisionError:
    print("除数不能为零!")

输出

除数不能为零!

多个 except 处理不同类型异常

try:
    num = int(input("输入一个数字: "))
    result = 10 / num
except ValueError:
    print("请输入有效的整数!")
except ZeroDivisionError:
    print("除数不能为零!")

2. elsefinally

  • else:当 try 语句 没有异常 时执行
  • finally:无论是否发生异常,都会执行
try:
    file = open("example.txt", "r")
    content = file.read()
except FileNotFoundError:
    print("文件未找到!")
else:
    print("文件内容读取成功!")
finally:
    if 'file' in locals() and not file.closed:
        file.close()
    print("文件已关闭。")

3. raise 关键字(手动触发异常)

可以使用 raise 关键字主动抛出异常。

def check_age(age):
    if age < 18:
        raise ValueError("年龄必须大于等于 18 岁")
    return "年龄验证通过"

try:
    print(check_age(15))
except ValueError as e:
    print(f"发生错误: {e}")

输出

发生错误: 年龄必须大于等于 18 岁

4. 自定义异常类

可以通过继承 Exception 创建自定义异常类。

class CustomError(Exception):
    pass

try:
    raise CustomError("自定义异常发生")
except CustomError as e:
    print(f"捕获异常: {e}")

5. 参考资料

出站链接

站内链接

Python 异常处理可以提高代码健壮性,避免程序崩溃,建议在关键代码中使用。🚀