我希望当出现错误时会显示错误发生在哪一行。我不确定如何获得错误发生的行#。任何帮助将不胜感激。
def main():
while True:
try:
function1()
function2()
function3()
except:
print('error occur at line ' + str(errorline))
答案 0 :(得分:3)
import sys
import traceback
try:
# Your code
except:
tb = sys.exc_info()[-1]
print(traceback.extract_tb(tb, limit=1)[-1][1])
为了提高效率,我添加了limit=1
,以避免加载(可能)巨大的回溯。您无法避免索引列表([-1]
以获取最后一个元素)。