Python 控制是否显示 报错信息 异常回溯 traceback

2022/3/29 9:26:30

本文主要是介绍Python 控制是否显示 报错信息 异常回溯 traceback,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

通过 Traceback 能得知运行异常的位置、原因

  • 当程序没有捕获异常、运行异常时
  • 会自动调用 Traceback 进行异常回溯



捕获异常

  • 当程序捕获异常时
  • 不会自动调用 Traceback 进行异常回溯
def run():
    try:
        print('Before')
        print(1 / 0)
        print('After')
    except Exception as e:
        print('异常信息', e)
    finally:
        print('End')


if __name__ == '__main__':
    run()



traceback.print_exc()

  • 将异常回溯的信息打印出来
import traceback


def run(trace=False):
    """
    :param trace: 控制是否进行 异常回溯
    :return:
    """
    
    try:
        print('Before')
        print(1 / 0)
        print('After')
    except:
        if trace:
            traceback.print_exc()
    finally:
        print('End')


if __name__ == '__main__':
    run(trace=True)



traceback.format_exc()

  • Like print_exc() but return a string
  • 将异常回溯的信息以字符串形式返回
import traceback


def run(trace=False):
    """
    :param trace: 控制是否进行 异常回溯
    :return:
    """

    try:
        print('Before')
        print(1 / 0)
        print('After')
    except:
        if trace:
            # 可以对回溯信息进行日志保存、筛选等操作
            e_str = traceback.format_exc()
            print(e_str)
    finally:
        print('End')


if __name__ == '__main__':
    run(trace=True)


这篇关于Python 控制是否显示 报错信息 异常回溯 traceback的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程