如何获取Python异常文本?

如果python代码引发异常,我们可以捕获它并打印类型,错误消息,回溯并获取发生异常的python脚本中的文件名和行号之类的信息。

我们可以找到错误的类型,值,回溯参数

Type给出已经发生的异常的类型;值包含错误消息;traceback包含堆栈快照和有关错误消息的许多其他信息详细信息。

sys.exc_info()函数返回这三个属性的元组,并且raise语句具有接受这三个部分的三参数形式。

在示例代码中获取异常类型,文件号和行号

import sys, os
try:
raise NotImplementedError("No error")
except Exception as e:
exc_type, exc_obj, exc_tb = sys.exc_info()
fname = os.path.split(exc_tb.tb_frame.f_code.co_filename)[1]
print(exc_type, fname, exc_tb.tb_lineno