• 技术文章 >常见问题 >Python常见问题

    python3的except报错怎么办

    silencementsilencement2019-10-25 16:25:51原创2691

    当Python的语段用了try...except...方式之后,就一直不太知道怎么定位到详细的程序crush
    位置,这两天程序需要用到这方面,于是就查了一下。

    需要使用traceback包

    import traceback
    
    try:
    		#以除0错误为例
    		3/0
    except Exception, e:
    		#这个是输出错误类别的,如果捕捉的是通用错误,其实这个看不出来什么
    		print 'str(Exception):\t', str(Exception)       #输出  str(Exception):	<type 'exceptions.Exception'>
    		#这个是输出错误的具体原因,这步可以不用加str,输出 
    		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了。更多学习内容,请点击python学习网。

    专题推荐:execept
    上一篇:python如何下载3.6.0 下一篇:python里需要声明类型吗

    相关文章推荐

    • Python新手常见问题三:在异常处理时错误的使用参数• python3 中try 异常调试 raise 异常抛出

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网