调用栈

若是错误没有被捕获,它就会一直往上抛,最后被Python解释器捕获,打印一个错误信息,而后程序退出spa

经过错误信息,能够追根溯源查到最终的错误缘由code

 

    def foo(s):
        return 10 / int(s)

    def bar(s):
        return foo(s) * 2

    def main():
        bar('0')

    main()
    
    #输出:
    Traceback (most recent call last):
      File "err.py", line 11, in <module>
        main()
      File "err.py", line 9, in main
        bar('0')
      File "err.py", line 6, in bar
        return foo(s) * 2
      File "err.py", line 3, in foo
        return 10 / int(s)
    ZeroDivisionError: division by zero
相关文章
相关标签/搜索