文章目录
一.Traceback介绍
在日常开发中,我们会做一些基本的异常处理,但是有时候只能打印我们处理的结果或者将异常打印出来,不能直观的知道在哪个文件中的哪一行出错。
def func(num1, num2):
try:
x = num1 * num2
y = num1 / num2
return x, y
except Exception as e:
print("错误信息:", e)
func(1, 0)
运行结果:
而使用Python中traceback模块来进行处理可以直观异常信息:
import traceback
def func(num1, num2):
try:
x = num1 * num2
y = num1 / num2
return x, y
except:
traceback.print_exc()
func(1, 0)
运行结果:
此错误输出包含诊断问题所需的所有信息。错误输出的最后一行一般会告诉你引发了什么类型的异常,以及关于该异常的一些相关信息。错误信息的前几行指出了引发异常的代码文件以及行数。
Python官网中有关traceback介绍:
该模块提供了一个标准接口,用于提取,格式和打印Python程序的堆栈痕迹。 它完全模仿了Python解释器在打印堆栈跟踪时的行为。 当您想在程序控制下打印堆栈迹线时,这非常有用,例如在解释器周围的“包装器”中。
Python中的traceback信息均来源于一个叫做traceback object的对象,而这个traceback object通常是通过函数sys.exc_info()来获取的。
import sys
def func1(num1, num2)