是否可以扩展此stackoverflow answer以在功能级别找到错误?
我编写的代码调用了我编写的函数。
我找不到函数中发生错误的位置。我已经尝试在Spyder中使用调试工具,但还没有设法跟踪问题。
我已经更新了我的try-except语句,以在上面的答案中包含代码,但它只能从调用函数的代码中找到行号。
答案 0 :(得分:2)
您始终可以使用追溯:
import traceback
def function():
print("A")
print(5/0)
print("C")
try:
print("A")
function()
print("B")
except:
traceback.print_exc()
但是,我同意@ roganjosh的评论:我会删除try / catch并通过让异常在生成它们的地方进行调试来调试代码。
答案 1 :(得分:0)
你可以像这样提出异常:
try:
do_importamt_staff() #your code
except:
import traceback
s = traceback.format_exc()
send_error_message_to_responsible_adult(s)
raise
此代码转到“错误函数”(执行错误的那个)。
你可以在这里阅读python中的异常:https://www.codementor.io/sheena/how-to-write-python-custom-exceptions-du107ufv9