【发布时间】:2008-11-14 21:31:10
【问题描述】:
当跨越多行的代码抛出 Python 异常时,例如:
myfoos = [foo("bar",
"baz",
"quux",
i) for i in range(10)]
Python 将报告最后一行的行号,并显示该行的代码片段:
Traceback (most recent call last):
File "test.py", line 4, in <module>
i) for i in range(10)]
NameError: name 'foo' is not defined
有没有办法确定第一行是什么?有什么方法可以捕获异常并操纵traceback 对象以便能够报告类似的内容:
Traceback (most recent call last):
File "test.py", lines 1-4 in <module>
myfoos = [foo("bar",
"baz",
"quux",
i) for i in range(10)]
NameError: name 'foo' is not defined
【问题讨论】: