在Python中,异常捕获的核心语法是try-except结构,通过精准拦截错误类型和finally资源清理实现健壮性。关键亮点包括:多异常合并处理、异常对象获取、else分支的妙用以及自定义异常抛出。
-
基础语法结构
pythonCopy Code
try: # 可能出错的代码 except ExceptionType: # 异常处理逻辑
当
try
块触发指定异常时,立刻跳转到对应except
块。未捕获的异常会向上传递。 -
多异常处理方式
- 并列捕获:
except (TypeError, ValueError)
- 分别处理:多个
except
块按顺序匹配 - 通配捕获:
except Exception
拦截所有非系统退出异常
- 并列捕获:
-
异常对象使用
通过as
关键字获取异常实例:pythonCopy Code
except ValueError as e: print(f"错误详情:{e.args[0]}")
可访问异常对象的
args
属性和内置__str__()
方法。 -
else与finally
else
分支在无异常时执行,适合存放依赖try
块成功执行的逻辑finally
无论是否异常都会执行,常用于文件关闭、数据库连接释放等
-
主动抛出异常
使用raise
触发异常:pythonCopy Code
if not 0<=score<=100: raise ValueError("分数超出有效范围")
支持抛出内置异常或自定义异常类实例。
合理使用异常处理能显著提升代码容错性,建议遵循"具体异常优先"原则,避免过度依赖通配捕获。调试阶段可暂时注释except
块以便暴露问题根源。