概述
在使用try...except语句时,当抛出异常时,只打印异常信息,而没有标明 哪个文件 哪一行 抛出异常
如:
try:
1/0
except Exception as e:
print(e)
执行显示如下:
division by zero
不用try...except... 执行时,显示信息更加详细:
1/0
执行显示如下:
Traceback (most recent call last):
File "c:/1.py", line 4, in <module>
1/0
ZeroDivisionError: division by zero
traceback 模块
traceback 模块 可以在try...except...中显示 异常 详细信息
官方api文档:
https://docs.python.org/3.6/library/traceback.html
方法1
打印异常的详细信息,与 不用try...except... 效果相同
traceback.print_exc(file=None)
参数说明
file:可以将异常信息写入到文件中
例子
import traceback
try:
1/0
except Exception as e:
traceback.print_exc()
执行显示如下:
Traceback (most recent call last):
File "c:/1.py", line 4, in <module>
1/0
ZeroDivisionError: division by zero
注意:
在jupyter notebook中不要使用,否则会 终止运算
方法2
将 异常的详细信息 作为 字符串 返回
traceback.format_exc()
返回值
str类型,异常的详细信息
例子
import traceback
try:
1/0
except Exception as e:
print('异常信息:',traceback.format_exc())
执行显示如下:
异常信息: Traceback (most recent call last):
File "c:/1.py", line 4, in <module>
1/0
ZeroDivisionError: division by zero
感谢:
https://blog.csdn.net/handsomekang/article/details/9373035