Python使⽤pt...输出详细错误
当Python的语段⽤了pt...⽅式之后,就⼀直不太知道怎么定位到详细的程序crush
位置,这两天程序需要⽤到这⽅⾯,于是就查了⼀下。
需要使⽤traceback包
import traceback
try:
#以除0错误为例
3/0
except Exception, e:
#这个是输出错误类别的,如果捕捉的是通⽤错误,其实这个看不出来什么
print 'str(Exception):\t', str(Exception)      #输出  str(Exception): <type 'exceptions.Exception'>
#这个是输出错误的具体原因,这步可以不⽤加str,输出
python的try和except用法
print 'str(e):\t\t', str(e)  #输出 str(e):  integer division or modulo by zero
print 'repr(e):\t', repr(e) #输出 repr(e): ZeroDivisionError('integer division or modulo by zero',)
print 'traceback.print_exc():';
#以下两步都是输出错误的具体位置的
traceback.print_exc()
print 'traceback.format_exc():\n%s' % traceback.format_exc()
另外说⼀下,Python 2.6之后 except那句可以换成except Exception as e了

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。