Python异常分为内置异常和自定义异常两大类,常见类型包括语法错误(SyntaxError)、逻辑错误(IndexError/KeyError)、运行时错误(TypeError/ValueError)等。异常处理是保证程序健壮性的关键,合理捕获异常能有效提升代码容错能力。
-
语法错误(SyntaxError)
代码不符合Python语法规则时触发,如缺少冒号、括号不匹配等。这类错误在程序运行前就会被解释器检测到,必须修正后才能执行。 -
索引/键值错误(IndexError/KeyError)
- IndexError:访问列表/元组时下标越界(如列表只有3个元素却访问第5项)
- KeyError:字典中查找不存在的键,需通过
dict.get()
方法或in
运算符避免
-
类型/数值错误(TypeError/ValueError)
- TypeError:操作不支持的数据类型(如字符串与数字相加)
- ValueError:数据格式合法但值无效(如
int("abc")
转换非数字字符串)
-
文件操作异常(IOError/FileNotFoundError)
文件读写时可能遇到的错误,包括路径不存在、权限不足或磁盘空间不足等情况,建议使用with
语句自动管理资源。 -
自定义异常
通过继承Exception
类创建,用于特定业务场景(如验证用户输入时抛出InvalidEmailError
),需配合raise
主动触发。
实际开发中建议结合try-except-else-finally
结构分层处理异常,避免裸捕获(如except:
)掩盖潜在问题。对于不可预知的错误,可通过日志记录详细上下文辅助排查。