您现在的位置是:网站首页>文章详情文章详情
python精确到异常具体行号
inlike2020-05-19【 原创文章 】 浏览(1849) 评论(2) 喜欢(24)
简介在函数外部设置try except当函数内容抛出异常时,外部捕获的异常行号是函数调用的行,如何才能从外部获取函数内部的异常行号?
在函数外部设置try except当函数内容抛出异常时,外部捕获的异常行号是函数调用的行,如何才能从外部获取函数内部的异常行号?
一般的使用下列方式,只能获取到同级的抛出行号。
e.__traceback__.tb_next.tb_lineno
但是通过__traceback__.tb_next可以追溯它的下一级异常,通常也是一个traceback对象。Python异常是从下向上处理的,可以通过tb_next追溯下一层抛出的异常信息。
通过tb_next可以追溯完整的异常链条,从而定位异常的始发位置。
如图示源码,分别输出52、48。
获取异常文件名:
e.__traceback__.tb_frame.f_globals["__file__"]
标签
下一篇:DES加密密钥超过8位的问题
相关文章
本栏推荐
标签云
猜你喜欢
站点信息
- 建站时间:2019-5-24
- 网站程序:like in love
- 主题模板:《今夕何夕》
- 文章统计:104条
- 文章评论:***条
- 微信公众号:扫描二维码,关注我们