1 使用traceback 异常的获取与处理:
2 1、print_exc(): 是对异常栈输出
3 2、format_exc(): 是把异常栈以字符串的形式返回,print(traceback.format_exc()) 就相当于traceback.print_exc()
4 3、print_exception():traceback.print_exc()实现方式就是traceback.print_exception(sys.exc_info()),可以点sys.exc_info()进去看看实现
5
6
7 1、异常输出到文件:
8 logging.exception(ex)
9 logging.error(ex, exc_info=1) # 指名输出栈踪迹, logging.exception的内部也是包了一层此做法
10 logging.critical(ex, exc_info=1) # 更加严重的错误级别
11
12
13 2、python 还有一个模块叫cgitb,输出的error非常详细:
14 try:
15 func(1, 0)
16 except Exception as e:
17 import cgitb
18 cgitb.enable(format='text')
19 func(1, 0)
20 3、sys.exc_info()、sys.last_tracebak():
21 将异常信息以元组的形式返回,元组中三个元素:type、value、traceback
22 异常类型、捕获到的异常实例、traceback对象