【发布时间】:2011-08-05 19:40:58
【问题描述】:
我有一个类似这样的代码:
try:
if x:
statement1
statement2
statement3
elif y:
statement4
statement5
statement6
else:
raise
except:
statement7
这里,我确定异常发生在If x:块中,但是我想知道异常发生在If x:块的哪个语句中。有没有办法获取发生异常的行号?
问候,
【问题讨论】:
-
你没有提到你为什么想要这个。用于调试问题?所以 statement7 可以根据引发异常的位置做一些不同的事情吗?你能告诉我们更多吗?
-
在我的代码中,语句 1 或语句 2 中不应发生异常。如果发生,则语句 1 或 2 中的任何一个都有问题。在 statement3 中包含它是可以接受的。这就是为什么我想知道哪一行有异常。
-
但是您将如何处理这些信息?你需要它一次来修复程序,还是在运行时需要它?
-
我需要它一次来修复故障线路。现在我找到了故障线路,谢谢大家!