Python常见异常和处理方案

在 Python 编程中,异常处理是保证程序健壮性的关键。以下整理常见异常类型、触发原因及处理方案,附代码:

一、基础异常处理结构

python 复制代码
try:
    # 可能出错的代码
    result = 10 / 0
except ZeroDivisionError:  # 捕获特定异常
    print("除数不能为零")
except (TypeError, ValueError) as e:  # 捕获多个异常
    print(f"类型或值错误: {e}")
else:
    print("未发生异常时执行")
finally:
    print("无论是否异常都会执行")

二、五大常见异常及处理方案

1. SyntaxError(语法错误)

触发原因:代码不符合 Python 语法规则 示例:print("Hello"(缺少括号) 处理方案:检查 IDE 提示,修正语法错误 无法用 try-except 捕获(发生在编译阶段)

2. NameError(名称错误)

触发原因:访问未定义的变量/函数

示例:

print(undefined_var) # 变量未定义

处理方案:

python 复制代码
try:
    print(undefined_var)
except NameError:
    print("变量未定义!")

3. TypeError(类型错误)

触发原因:操作或函数应用于不适当类型的对象

示例:

"10" + 5 # 字符串 + 整数

处理方案:

ini 复制代码
try:
    result = "10" + 5
except TypeError:
    result = int("10") + 5  # 类型转换

4. AttributeError(属性错误)

触发原因:访问对象不存在的属性/方法 示例:

go 复制代码
s = "hello"
s.append("!")  # 字符串无 append 方法

处理方案:

python 复制代码
try:
    s.append("!")
except AttributeError:
    s += "!"  # 正确操作

5. ImportError(导入错误)

触发原因:导入模块/模块内对象失败 示例:

javascript 复制代码
import non_existent_module
from math import non_existent_func

处理方案:

python 复制代码
try:
    import pandas as pd
except ImportError:
    print("请安装 pandas: pip install pandas")

三、注意事项

避免过度捕获:如 KeyboardInterrupt(用户终止)通常不应被捕获

异常链:Python 3+ 支持 raise ... from ... 保留原始异常上下文

性能影响:异常处理比 if 检查慢,高频操作中优先用条件判断

通过合理使用异常处理机制,可显著提升代码的容错性与用户体验。

相关推荐
麻雀飞吧1 小时前
零基础选量化工具,先把问题说清楚
人工智能·python
段一凡-华北理工大学2 小时前
AI推动工业智能化转型~系列文章20:工业 AI 平台架构:云-边-端协同的技术体系
人工智能·python·架构·工业平台·云-边协同
IT_陈寒2 小时前
Python线程池吞了异常还不告诉我,这谁顶得住啊
前端·人工智能·后端
CodeBlog-star2 小时前
Harness Engineering:Pi Agent 架构深度解析
人工智能·python·架构·harness工程
简不变2 小时前
将components下的文件夹复制到别一个文件夹下,并重新生成CMakelist.txt文件
python
小强库计算机毕业设计2 小时前
SpringBoot+Vue3 学生宿舍管理系统实战
java·spring boot·后端·vue·学生宿舍管理系统
小狼1832 小时前
实践6|SDD 实战:AI 写的规格被推翻了四次
后端·claude
篮框坏了2 小时前
"DeepSeek Harness 实测:一毛钱干三活,但默认配置是个坑"
后端·ai编程
jobBridge212 小时前
大模型到底是怎么"想"的?我把 Transformer 拆开,发现它其实是个"接词狂魔"
人工智能·后端·编程语言
AC赳赳老秦2 小时前
风控岗应用:OpenClaw 采集公开司法与经营异常数据,自动生成企业风险评估报告
大数据·c语言·数据库·人工智能·python·php·openclaw