提高异常以查找函数中的错误

时间:2017-12-19 00:08:03

标签: python exception

是否可以扩展此stackoverflow answer以在功能级别找到错误?

我编写的代码调用了我编写的函数。

我找不到函数中发生错误的位置。我已经尝试在Spyder中使用调试工具,但还没有设法跟踪问题。

我已经更新了我的try-except语句,以在上面的答案中包含代码,但它只能从调用函数的代码中找到行号。

2 个答案:

答案 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