Python异常处理需按类型精细捕获、有针对性地恢复或反馈,避免裸except;应提供默认值、清理资源、记录日志、包装重抛、友好提示,并善用else和finally。

Python 中捕获异常后,关键不是“抓到就算完”,而是要根据异常类型、业务逻辑和用户体验,做有针对性的处理。核心原则是:能恢复就恢复,不能恢复就明确反馈,必要时记录或转抛。
判断是否需要真正处理(而不是简单忽略)
很多新手习惯写 except: 然后 pass,这极容易掩盖真实问题。应优先考虑:
- 这个异常是不是预期中可能发生的?比如网络请求超时、文件不存在、用户输入格式错误
- 当前层级有没有能力修复或兜底?例如读配置失败时,能否切到默认值
- 忽略它会不会导致后续逻辑出错或数据不一致?
按类型精细捕获,避免宽泛 except
用具体异常类替代裸 except:,便于区分处理逻辑:
try:
data = json.loads(user_input)
except json.JSONDecodeError as e:
print(f"JSON 格式错误:{e}")
data = {}
except TypeError:
print("输入不是字符串,无法解析")
data = {}
登录后复制
这样比 except Exception: 更安全,也更容易调试。
立即学习“Python免费学习笔记(深入)”;
版权声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。
还木有评论哦,快来抢沙发吧~