Python 使用sys.exc_info自己捕获异常详细信息

本文详细介绍如何在Python中使用sys.exc_info()方法捕获并处理异常,通过实例展示如何获取异常类型、值及堆栈跟踪,适用于debug场景。

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

Python 使用sys.exc_info自己捕获异常详细信息

一般程序中,我们需要对异常进行捕获来保证程序的健壮。但是debug的时候,我们可能需要异常的详细信息,这时可以使用sys.exec_info来处理:

import traceback
import sys
try:
     raise ValueError('this is a exp')
except Exception as ex:
    ex_type, ex_val, ex_stack = sys.exc_info()
    print(ex_type)
    print(ex_val)
    for stack in traceback.extract_tb(ex_stack):
        print(stack)

将以上代码保存为文件test.py, 执行可以看到以下结果:

% python3 test.py 
<class 'ValueError'>
this is a exp
<FrameSummary file test.py, line 4 in <module>>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值