python 异常回溯_python – 如果不立即重新提升,异常回溯被隐藏

我有一块类似这样的代码:

import sys

def func1():

func2()

def func2():

raise Exception('test error')

def main():

err = None

try:

func1()

except:

err = sys.exc_info()[1]

pass

# some extra processing, involving checking err details (if err is not None)

# need to re-raise err so caller can do its own handling

if err:

raise err

if __name__ == '__main__':

main()

当func2引发异常时,我收到以下traceback:

Traceback (most recent call last):

File "err_test.py", line 25, in

main()

File "err_test.py", line 22, in main

raise err

Exception: test error

从这里我不会看到异常来自哪里。原始跟踪丢失。

如何保留原始追溯并重新提高?我想看到类似这样的东西:

Traceback (most recent call last):

File "err_test.py", line 26, in

main()

File "err_test.py", line 13, in main

func1()

File "err_test.py", line 4, in func1

func2()

File "err_test.py", line 7, in func2

raise Exception('test error')

Exception: test error

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值