答案:Python中通过try-except捕获异常,可针对特定错误类型处理,如ZeroDivisionError、ValueError,也可用Exception捕获所有异常,结合traceback模块打印完整堆栈信息以便调试。

在 Python 中,捕获错误信息主要通过 try-except 语句实现。你可以捕获异常并获取具体的错误类型和错误内容,便于调试或提示用户。
基本语法:try-except 捕获异常
使用 try 包裹可能出错的代码,用 except 捕获异常:
try:
result = 10 / 0
except ZeroDivisionError as e:
print(f"发生错误:{e}")
上面代码会捕获除零错误,并输出:发生错误:division by zero
捕获多种错误类型
可以针对不同异常做不同处理:
立即学习“Python免费学习笔记(深入)”;
try:
value = int("abc")
result = 10 / 0
except ValueError as e:
print(f"类型转换失败:{e}")
except ZeroDivisionError as e:
print(f"不能除以零:{e}")
捕获所有异常(通用做法)
如果想捕获所有类型的异常,可以用 Exception 或 BaseException(不推荐捕获后者,除非特殊需要):
try:
something_risky()
except Exception as e:
print(f"未知错误:{type(e).__name__} - {e}")
type(e).__name__ 可以获取异常的类型名称,比如 ValueError、TypeError 等。
获取完整的错误堆栈信息
如果需要打印详细的错误调用链(例如日志记录),可以使用 traceback 模块:
import tracebacktry: 1 / 0 except Exception as e: print(f"错误信息:{e}") print("完整堆栈:") traceback.print_exc()
traceback.print_exc() 会输出从错误发生点开始的完整调用栈,对排查问题非常有用。
基本上就这些。掌握 try-except 和 traceback 就能有效捕获和分析 Python 中的错误信息。











