您现在的位置是:网站首页>文章详情文章详情

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可以追溯完整的异常链条,从而定位异常的始发位置。


image.png

如图示源码,分别输出52、48。

获取异常文件名:

e.__traceback__.tb_frame.f_globals["__file__"]




很赞哦! ( 24)
    《Python实战进阶》
    None
    None
    夏至已深

站点信息

  • 建站时间:2019-5-24
  • 网站程序:like in love
  • 主题模板《今夕何夕》
  • 文章统计:104条
  • 文章评论:***条
  • 微信公众号:扫描二维码,关注我们
  • 个人微信公众号