异常、上下文管理器与资源释放
异常表示运行时无法按正常流程完成的情况。只捕获你能正确处理的具体异常:
raise ... from error 保留原始异常链,方便排查原因。不要使用裸 except: 或捕获后 pass;这会吞掉 KeyboardInterrupt 等信号或隐藏程序错误。
使用 with 管理资源
文件、锁和网络响应等资源应使用上下文管理器:
from pathlib import Path
with Path("notes.txt").open("r", encoding="utf-8") as file:
content = file.read()
无论代码块正常结束还是抛出异常,with 都会执行清理逻辑。它通常比手写 try/finally 更简洁可靠。