#Python# 如何在异常中打印异常的调用堆栈

本文介绍在Python中如何使用traceback和cgitb库来捕获并打印异常的详细调用堆栈,帮助开发者快速定位错误源。通过实例演示了在发生除零错误时,如何获取和展示完整的调用历史。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#Python# 如何在异常中打印异常的调用堆栈

使用 traceback 库

import traceback

try:
	pass #要捕获异常的代码块
except Exception as a:
  	print(a)
  	traceback.print_exc()

或者使用 cgitb

def func(a, b):
        return a / b
if __name__ == '__main__':
        import cgitb
        cgitb.enable(format='text')
        import sys
        import traceback
        func(1, 0)
运行之后就会得到详细的数据:
A problem occurred in a Python script.  Here is the sequence of
function calls leading up to the error, in the order they occurred.

 /Users/samchi/Documents/workspace/tracebacktest/teststacktrace.py in <module>()
    4 	import cgitb
    5 	cgitb.enable(format='text')
    6 	import sys
    7 	import traceback
    8 	func(1, 0)
func = <function func>

 /Users/samchi/Documents/workspace/tracebacktest/teststacktrace.py in func(a=1, b=0)
    2 	return a / b
    3 if __name__ == '__main__':
    4 	import cgitb
    5 	cgitb.enable(format='text')
    6 	import sys
a = 1
b = 0

traceback 和 cgitb 详解 请参考 https://blog.youkuaiyun.com/lengxingxing_/article/details/56317838

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

energy_百分百

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值