1. 异常处理基本结构

try:
    # 可能引发异常的代码
    result = 10 / 0
except ZeroDivisionError:
    # 处理特定异常
    print("除零错误!")
finally:
    # 无论是否出错都会执行的代码
    print("清理资源...")
异常处理流程图

2. 常见异常类型

  • ZeroDivisionError: 除零错误 🚫
  • ValueError: 值错误 📌
  • TypeError: 类型错误 ⚠️
  • FileNotFoundError: 文件未找到 📁
  • KeyboardInterrupt: 用户中断操作 ⏹️

3. 自定义异常

class CustomError(Exception):
    def __init__(self, message):
        super().__init__(message)

def validate_age(age):
    if age < 0:
        raise CustomError("年龄不能为负数")
自定义异常类结构

4. 异常链传递

try:
    open("nonexistent_file.txt")
except FileNotFoundError as e:
    print(f"文件未找到: {e}")
    raise ValueError("文件操作失败") from e

5. 最佳实践

  • 使用具体异常类型而非通用的 Exception
  • 避免过度使用 except 块 ⚠️
  • 在 finally 中处理资源释放 💡
  • 了解 __context____cause__ 属性 🔍

点击这里查看Python基础语法教程
了解更多高级编程技巧