在Python中尝试除了块 - 如何理解异常在哪里?

beS*_*ark 4 python exception

我有一个程序(不是我的)有一个很大的尝试 - 除了块.在这个区块的某个地方有一个例外.找出它发生的确切代码串的最佳方法是什么?

the*_*eye 7

您可以在块中使用print_excexcept

import traceback
traceback.print_exc()
Run Code Online (Sandbox Code Playgroud)

例:

import traceback
try:
    pass
    pass
    pass
    pass
    pass
    raise NameError("I dont like your name")
    pass
    pass
    pass
    pass
    pass
except Exception, e:
    traceback.print_exc()
Run Code Online (Sandbox Code Playgroud)

产量

Traceback (most recent call last):
  File "/home/thefourtheye/Desktop/Test.py", line 8, in <module>
    raise NameError("I dont like your name")
NameError: I dont like your name
Run Code Online (Sandbox Code Playgroud)