python traceback 获取异常信息

简介

异常信息对于定位错误是至关重要的。

try:
    ...
except Exception as e:
    print(str(e))

异常信息:

division by zero

在上面这种结构中,获取到的异常信息有限,和我们遇到异常退出获取不一致。

traceback

使用traceback模块可以获取到最全的信息,和运行中出错的信息一致。

使用traceback.print_exc()可以将打印信息输出到控制台。

使用traceback.format_exc()获取异常信息的字符串,输出到指定位置。

import traceback

try:
    1/0
except Exception as e:

    # 直接将异常信息输出到控制台
    traceback.print_exc()
    
    # 将异常信息输出到文件中
    with open("log", "w") as f:
        f.write(traceback.format_exc())

异常信息:

File “.\demo1.py”, line 4, in
traceback.print_exc()
NameError: name ‘traceback’ is not defined

你可能感兴趣的:(python,python)