python 报错信息正确捕捉姿势

Posted by CnFeat on April 27, 2017

前言

python 报错信息正确捕捉姿势,作为一个记录

具体介绍

一般我们去捕捉一个错误写法都会如下:

#!/usr/bin/env python
# -*- coding: utf-8 -*-
#Author: Leon xie

try:
    int('sdfdsf')
except Exception as e:
    print(e)

结果如下:

invalid literal for int() with base 10: 'sdfdsf

有点不好,就是不是很清晰的告诉我错误在哪?

那么换上下面这种方式,立马就不一样了。

#!/usr/bin/env python
# -*- coding: utf-8 -*-
#Author: Leon xie
import traceback
try:
    int('sdfdsf')
except Exception as e:
    #print(e)
    print(traceback.format_exc())

运行结果:

Traceback (most recent call last):
  File "E:/autoclient/其他/test001.py", line 6, in 
    int('sdfdsf')
ValueError: invalid literal for int() with base 10: 'sdfdsf'
</pre>
这里,明确的说明了,哪个文件哪一行出了问题。