Python - 确定函数中是否引发了异常

时间:2017-01-02 15:54:51

标签: python exception exception-handling except

我正在编写另一个我无法控制的Python库的扩展。该库具有以下功能:

plot(as.numeric(trans.factor), casp6)

如果返回一个空列表,我想以某种方式弄清楚是否是这种情况,因为抛出了异常(在将值添加到源之前),或者因为没有向源添加值(没有抛出异常) )。

有什么想法吗?同样,我无法控制该函数,因此我无法更改返回值或添加try->除了函数外。

1 个答案:

答案 0 :(得分:0)

您总是可以尝试使用理智的实现来monkeypatch lib的函数:

import insanelib

def myxyz():
    sources = []
    ...
    #code that may add values to sources and may also throw an exception
    ...
    return sources


insanelib.xyz = myxyz

或者您可以向lib的作者提交补丁,这样他至少可以选择而不是忽略异常。