1.traceback.print_exc()
2.traceback.format_exc()
3.traceback.print_exception()
简单介绍
1.print_exc():是对异常栈输出
2.format_exc():是把异常栈以字符串的形式返回,print(traceback.format_exc()) 就相当于traceback.print_exc()
3.print_exception():traceback.print_exc()实现方式就是traceback.print_exception(sys.exc_info()),可以点sys.exc_info()进去看看实现
测试
结果
可以看出,三种方式打印结果是一样的。在开发时,做调试是很方便的。也可以把这种异常栈写入日志。
logging.exception(ex)
# 指名输出栈踪迹, logging.exception的内部也是包了一层此做法
logging.error(ex, exc_info=1)
# 更加严重的错误级别
logging.critical(ex, exc_info=1)
python 还有一个模块叫cgitb,输出的error非常详情。
try:
func(1, 0)
except Exception as e:
import cgitb
cgitb.enable(format='text')
func(1, 0)