1. 核心机制

异常处理是Python中控制程序流的关键工具,通过try...except...else...finally结构实现:

try:
    # 可能引发异常的代码
except SpecificError as e:
    # 捕获特定异常
else:
    # 没有异常时执行
finally:
    # 始终执行的清理代码
异常处理_结构

2. 高级技巧

  • 🧠 自定义异常类

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

    通过继承Exception创建专属异常类型,建议使用__str__方法增强可读性

  • 🔗 异常链传递
    使用from关键字保留原始异常信息:

    try:
        ...
    except ValueError as e:
        raise CustomError("转换失败") from e
    
  • 🧩 上下文管理器

    with open('file.txt') as f:
        ...
    

    自动处理资源释放,配合try...except更安全

  • 📌 多异常捕获

    except (ValueError, TypeError, KeyError) as e:
        ...
    

3. 实战建议

  • 📝 使用logging记录异常详情
  • 🧪 通过traceback模块获取完整异常栈
  • 🔄 谨慎使用except Exception,应明确捕获类型
  • 📚 推荐阅读:Python异常处理最佳实践

4. 常见误区

错误示范

except:
    pass  # 隐式捕获所有异常会掩盖真实错误

正确做法

except ValueError:
    handle_specific_error()
异常处理_误区