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


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>>


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM