import sys,time
import traceback
def func(a, b):
return a / b
if __name__ == "__main__":
try:
func(1, 0)
except Exception as e:
print('***', type(e), e, '***')
print("***traceback.print_exc():*** ")
# traceback.print_exc()
traceback.print_exc(limit=1, file=sys.stdout)
time.sleep(1)
print("***traceback.format_exc():*** ")
print(traceback.format_exc())
time.sleep(1)
print("***traceback.print_exception():*** ")
traceback.print_exception(*sys.exc_info())
# 1.traceback.print_exc():直接打印,可接受file参数直接写入到一个文件中。比如:traceback.print_exc(file = open("tb.txt","w+"))。
# 2.traceback.format_exc():返回字符串。是把异常栈以字符串的形式返回,print(traceback.format_exc()) 就相当于traceback.print_exc()。
# 3、print_exception():traceback.print_exc()实现方式就是traceback.print_exception(sys.exc_info()),可以点sys.exc_info()进去看看实现。
# 参考:https://www.jianshu.com/p/01ed4b8d7d9a
# 参考:https://www.jb51.net/article/146628.htm
# 参考:https://blog.youkuaiyun.com/xc_zhou/article/details/80823905
https://blog.youkuaiyun.com/a939029674/article/details/81182696
https://blog.youkuaiyun.com/qq_41479464/article/details/82717225
https://www.cnblogs.com/zhangjiansheng/p/6816983.html
https://blog.youkuaiyun.com/u013636377/article/details/50732218