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基础语法教程
了解更多高级编程技巧