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

    python3的except报错怎么办

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

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

    需要使用traceback包

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    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学习网